Quel est le moyen canonique d'obtenir un tableau vide dans Scala? new Array[String](0)
est trop prolixe.
Array[String]()
Vous pouvez omettre la partie [String]
si elle peut être déduite (par exemple, methodThatAlwaysTakesAStringArray( Array() )
).
val emptyArray = Array.empty[Type]
Array()
suffira, la plupart du temps. Ce sera de type Array[Nothing]
.
Si vous utilisez des conversions implicites, vous devrez peut-être écrire Array [Nothing], en raison de Bug # 3474 :
def list[T](list: List[T]) = "foobar"
implicit def array2list[T](array: Array[T]) = array.toList
Cela ne fonctionnera pas:
list(Array()) => error: polymorphic expression cannot be instantiated to expected type;
found : [T]Array[T]
required: List[?]
list(Array())
^
Cette volonté:
list(Array[Nothing]()) //Nothing ... any other type should work as well.
Mais ce n’est qu’un cas bizarre d’implications. Il est fort possible que ce problème disparaisse dans le futur.
Si le type de tableau est l'une des primitives, vous pouvez utiliser les raccourcis de scala.Array.
Par exemple, pour un tableau d'octets, ce serait:
val arr = Array.emptyByteArray
Ceci est utile lorsque le type ne peut pas être déduit et que vous souhaitez rester moins détaillé.