Ich verwende Array(0, {i -> ""})
derzeit und würde gerne wissen, ob es eine bessere Implementierung gibt, wie zArray()
Wenn ich verwende arrayOfNulls<String>(0) as Array<String>
, wird der Compiler mich darauf hinweisen, dass diese Besetzung niemals erfolgreich sein kann. Aber es ist die Standardimplementierung im Inneren Array(0, {i -> ""})
. Vermisse ich etwas
Antworten:
Seit Ende Juni 2015 gibt es die Kotlin-Standardbibliotheksfunktion
Um ein leeres Array von Strings zu erstellen, können Sie schreiben
quelle
IntArray
? Im Moment benutze icharrayOf<Int>().toIntArray()
, gibt es einen besseren Weg?java.lang.ArrayIndexOutOfBoundsException:
Ausnahme aus.T
statt istString
?Nur als Referenz gibt es auch
emptyArray
. Beispielsweise,Sehen
quelle
java.lang.ArrayIndexOutOfBoundsException:
wie wir es verwenden können?0
! Daher ist es nur für ganz besondere Zwecke nützlich, dass Sie keine Daten speichern möchten (nur den Typ ). Verwenden SieArray(length){""}
, um eine gewünschte einzuschließenlength
. Siehe meine Antwort unten für Details.Leer oder
null
? Das ist die Frage!null
Verwenden Sie einfach, um ein Array von s zu erstellenarrayOfNulls<Type>(length)
.Verwenden Sie jedoch Folgendes, um ein leeres Array mit einer Größe zu generieren
length
:Der Hinweis ist das Sie für
emptyObject
jeden Datentyp einen korrekten Wert definieren müssen (weil Sie keinenull
s möchten ). Z.B. fürString
semptyObject
kann sein""
. So:Hier ist ein Live-Beispiel . Beachten Sie, dass das Programm standardmäßig mit zwei Beispielargumenten ausgeführt wird.
quelle
Null-Array
quelle
Wie oben erwähnt, können Sie
IntArray(size)
oder verwendenFloatArray(size)
.quelle
Ich habe zwei Möglichkeiten gefunden, ein leeres Array zu erstellen, die zweite ohne Lambda:
In Bezug auf Kotlins Nullzeichenfolgen ist dies nicht zulässig. Sie müssen String verwenden? Geben Sie ein, damit Zeichenfolgen null sind.
quelle
Verwenden:
Es gibt ein Array mit Strings der Größe 0 zurück, das mit Nullwerten initialisiert wurde.
1. Falsch:
Es kehrt zurück
arrayOfNulls<String>(0)
2. Falsch:
Es gibt ein Array zurück, das die Strings enthält.
quelle