私はArray(0, {i -> ""})現在使用していますが、次のようなより良い実装があるかどうか知りたいですArray()
さらに、を使用しているarrayOfNulls<String>(0) as Array<String>場合、コンパイラはこのキャストが成功しないことを警告します。ただし、これは内のデフォルトの実装Array(0, {i -> ""})です。私は何かが恋しいですか?
回答:
最近(2015年6月)現在、Kotlin標準ライブラリ関数があります
public fun <T> arrayOf(vararg t: T): Array<T>
したがって、文字列の空の配列を作成するには、次のように記述できます。
val emptyStringArray = arrayOf<String>()
IntArrayどうですか?現在使用arrayOf<Int>().toIntArray()していますが、もっと良い方法はありますか?
java.lang.ArrayIndexOutOfBoundsException:例外をスローします。
Tなくの場合はどうなりStringますか?
java.lang.ArrayIndexOutOfBoundsException:どのように使用できるかをスローしますか?
0!したがって、データを保存したくない(typeが必要な)という非常に特別な目的にのみ役立ちます。Array(length){""}目的のを含めるために使用しますlength。詳細については、以下の私の回答を参照してください。
null?それが問題です!の配列を作成するにはnull、単にarrayOfNulls<Type>(length)。を使用します。
ただし、サイズの空の配列を生成するにはlength、次を使用します。
val arr = Array(length) { emptyObject }
注意点は、データ型ごとに適切に定義する必要があるということですemptyObject(sが必要ないためnull)。例:以下のためStringの、emptyObject可能""。そう:
val arr = Array(3) { "" } // is equivalent for: arrayOf("","","")
ここで実際の例。プログラムは、デフォルトで2つのサンプル引数を使用して実行されることに注意してください。
null配列
var arrayString=Array<String?>(5){null}
var nullArray= arrayOfNulls<String>(5)
使用する:
@JvmField val EMPTY_STRING_ARRAY = arrayOfNulls<String>(0)
null値で初期化された0サイズの文字列配列を返します。
1.間違った:
@JvmField val EMPTY_STRING_ARRAY = emptyArray<String>()
戻ります arrayOfNulls<String>(0)
2.間違った:
@JvmField val EMPTY_STRING_ARRAY = arrayOf<String>()
文字列を含む配列を返します。
空の配列を作成する2つの方法を見つけました。2つ目はラムダを使用しない方法です。
var arr = Array (0, { i -> "" })
var arr2 = array<String>()
Kotlinのnull文字列に関しては、これは許可されていません。文字列を使用する必要がありますか?文字列をnullにできるように入力します。