私は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にできるように入力します。