2016-02-07 8 views
24

javaのようにArrayを作成するにはどうすればよいですか?サイズを指定するだけでJavaのようにKotlinで配列を作成するにはどうすればよいですか?

int A[] = new int[N]; 

どうすればこのことができますか?

+2

私はあなたがint' 'について尋ねている知っているが、オブジェクトのために、http://stackoverflow.com/questions/32679060/kotlinがあります-create-a-regular-as-in-java – Thilo

答えて

46

referenceによると、アレイは以下のように作成されます。Javaのプリミティブ型の

  • unboxed値を格納するなどの異なるタイプIntArrayDoubleArrayがあります。

    は、それらは、対応するコンストラクタとファクトリ関数を使用して作成された:

    val arrayOfZeros = IntArray(size) //equivalent in Java: new int[size] 
    val numbersFromOne = IntArray(size) { it + 1 } 
    val myInts = intArrayOf(1, 1, 2, 3, 5, 8, 13, 21) 
    

    最初のものは、Javaの場合とsimillarあり、それだけで、例えば、デフォルト値で満たさプリミティブ配列を作成Intの場合は0、Booleanの場合はfalseとなります。

  • 非プリミティブ配列は、Array<T>クラスで表されます。ここで、Tはアイテムタイプです。

    Tはまだジャワ(IntBoolean、...)でプリミティブ型のいずれかになりますが、値は内部JavaのIntegerDoubleなどと同等に箱詰めされます。

    また、Tは、nullable and non-nullのように、StringおよびString?のいずれでもよい。

    これらは同様の方法で作成されます。

    val nulls = arrayOfNulls<String>(size) //equivalent in Java: new String[size] 
    val strings = Array(size) { "n = $it" } 
    val myStrings = arrayOf("foo", "bar", "baz") 
    
    val boxedInts = arrayOfNulls<Int>(size) //equivalent in Java: new Integer[size] 
    val boxedZeros = Array(size) { 0 } 
    
+4

'配列(サイズ)'はコンパイルされません。これは、要素を指定せずにnull値ではない配列を作成することができないためです。 –

+1

@KirillRakhman、あなたの発言のおかげで、それは偶然の間違いでした。一定。 – hotkey

関連する問題