KotlinにはByteArray, ShortArray, IntArray, CharArray, DoubleArray, FloatArray
があることがわかります。これは、それに応じてJavaのbyte[], short[], int[],char[], double[], float[]
と同等です。
今、私は思っています、JavaのString[]
と同等のStringArray
はありますか?
Javaプリミティブ(String
、String
、...) - とは対照的に、int
はJVM上の通常の参照型であるため、double
には特別な場合はありません。 Array<T>
は、 を必要とし、それらをInteger
およびDouble
のようなオブジェクトにボックス化します。 Kotlinの IntArray
のような特殊な配列の目的は、ボックス化されていないプリミティブを格納し、ボックス化とボックス化解除のオーバーヘッドをなくすことです(int[]
ではなくJava Integer[]
と同じ)。
JavaのArray<String>
と同等のArray<String?>
(およびnull許容値の場合はString[]
)を使用できます。
val stringsOrNulls = arrayOfNulls<String>(10) // returns Array<String?>
val someStrings = Array<String>(5) { "it = $it" }
val otherStrings = arrayOf("a", "b", "c")
言語リファレンスの 配列
arrayOf、arrayOfNulls、を使用してください。 emptyArray
var colors_1: Array<String> = arrayOf("green", "red", "blue")
var colors_2: Array<String?> = arrayOfNulls(3)
var colors_3: Array<String> = emptyArray()
これらの型は、ボックス型ではなくプリミティブの配列を作成できるようにあります。 StringはJavaのプリミティブではないので、KotlinではJavaのArray<String>
と同等のものとしてString[]
を使用することができます。
Strings
およびその他の型の場合は、Array<*>
を使用するだけです。 IntArray
などが存在する理由は、オートボクシングを防ぐためです。
したがってint[]
はIntArray
に関連し、Integer[]
はArray<Int>
に関連します。
Array of Strings
を作成するには、以下の6つの方法のいずれかを使用する必要があります。最初のアプローチ:
val empty = arrayOf<String>()
第二のアプローチ:
val empty = arrayOf("","","")
第三のアプローチ:
val empty = Array<String?>(3) { null }
第四のアプローチ:
val empty = arrayOfNulls<String>(3)
第五のアプローチ:
val empty = Array<String>(3) { "it = $it" }
第六のアプローチ:
val empty = Array<String>(0, { _ -> "" })
あなたも使うことができます:
val frases = arrayOf("texto01","texto02 ","anotherText","and ")
例えば。
この例はAndroidでも完璧に動作します
Kotlinではラムダ式を使うことができます。 Kotlin Array Constructorの定義は次のとおりです。
Array(size: Int, init: (Int) -> T)
評価は次のとおりです。
skillsSummaryDetailLinesArray = Array(linesLen) {
i: Int -> skillsSummaryDetailLines!!.getString(i)
}
または
skillsSummaryDetailLinesArray = Array<String>(linesLen) {
i: Int -> skillsSummaryDetailLines!!.getString(i)
}
この例では、フィールド定義は次のとおりです。
private var skillsSummaryDetailLinesArray: Array<String>? = null
お役に立てれば