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

新手上路,请多包涵

我怎样才能像在java中那样创建一个数组?

 int A[] = new int[N];

我怎样才能在 Kotlin 中做到这一点?

原文由 Kevin Mathew 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 325
2 个回答

根据 参考资料,数组是按以下方式创建的:

  • 对于 Java 的原始类型,有不同的类型 IntArray , DoubleArray 等,它们存储未 装箱 的值。

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

   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 为零, --- falseBoolean

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

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

此外, T 可以为 空和非空,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 }

原文由 hotkey 发布,翻译遵循 CC BY-SA 4.0 许可协议

这是字符串数组初始化的简单示例

        var names = Array<String>(<AnotherArray.size>) { i -> "" }

科特林 文档

原文由 AlexPes 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题