java - 如何仅通过提供大小来像在 Java 中一样在 Kotlin 中创建数组?

如何像在 java 中一样创建数组?

int A[] = new int[N];

如何在 Kotlin 中做到这一点?

最佳答案

根据reference , 数组的创建方式如下:

  • 对于 Java 的原始类型,有不同的类型 IntArray , DoubleArray等存储unboxed值(value)观。

    它们是用相应的构造函数和工厂函数创建的:

    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 中的类似,它只是创建一个原始数组,其中填充了默认值,例如Int 为零, false对于 Boolean .

  • 非原始数组由 Array<T> 表示类,其中 T是项目类型。

    T仍然可以是 Java 中的原始类型之一( IntBoolean ,...),但里面的值将被装箱等效于 Java 的 Integer , Double等等。

    另外,T可以是nullable and non-null喜欢 StringString? .

    这些都是以类似的方式创建的:

    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 }
    

https://stackoverflow.com/questions/35253368/

相关文章:

kotlin - 如何从 Kotlin 的资源中读取文本文件?

java - 是否可以在 Kotlin 中使用 Mockito?

list - 如何在 kotlin 中克隆或复制列表

kotlin - 如何在 kotlin 中检查 "instanceof "类?

arrays - 如何在 kotlin 中创建一个空数组?

java - 如何在 Kotlin 中创建匿名接口(interface)的实例?

kotlin - Kotlin 中的 Getter 和 Setter

android-studio - Kotlin 字节码 - 如何在 IntelliJ IDEA 中分

algorithm - Kotlin - 从数组中删除重复字符串的惯用方法?

object - Kotlin:类中对象和伴随对象之间的区别