Канонический способ для пустого массива в Scala?
каков канонический способ получить пустой массив в Scala? new Array[String](0) слишком многословен.
4 ответа:
Array[String]()вы можете оставить
[String]часть, если она может быть выведена (например,methodThatAlwaysTakesAStringArray( Array() )).
Array()будет достаточно, в большинстве случаев. Это будет типаArray[Nothing].если вы используете неявные преобразования, вам может потребоваться фактически написать Array[Nothing], из-за ошибка #3474:
def list[T](list: List[T]) = "foobar" implicit def array2list[T](array: Array[T]) = array.toListЭто не сработает:
list(Array()) => error: polymorphic expression cannot be instantiated to expected type; found : [T]Array[T] required: List[?] list(Array()) ^Это:
list(Array[Nothing]()) //Nothing ... any other type should work as well.но это только странный угол случае неявные преобразования. Вполне возможно,что в будущем эта проблема исчезнет.