何时能拥有Java风格的Kotlin数组字面量语法?
Kotlin数组字面量语法支持情况及紧凑写法技巧
关于类似Java数组字面量的支持状态
Kotlin目前不支持{1,2,3,4,5}这种数组字面量语法,而且短期内也没有官方计划引入该特性。核心原因是{}在Kotlin中已经被用作Lambda表达式的语法标识,强行复用会引发严重的语法冲突,破坏现有代码的兼容性。
紧凑写法的替代方案
- 利用类型推导简化:Kotlin能自动推断数组元素类型,可省略显式类型声明,直接写:
var array = arrayOf(1,2,3,4,5) - 使用原生类型专用数组函数:针对Int、Double等原生类型,Kotlin提供了更简洁的专用创建函数,同时生成性能更优的原生数组(而非包装类型数组):
var intArray = intArrayOf(1,2,3,4,5) var doubleArray = doubleArrayOf(1.0, 2.0, 3.0) - 规律数组的初始化:如果数组元素有规律(比如连续数字),可以用范围或初始化器函数生成:
// 生成1到5的Int数组 var rangeArray = (1..5).toIntArray() // 初始化长度为5的数组,元素为索引+1 var initArray = IntArray(5) { it + 1 } - 集合转数组:如果已有集合对象,直接调用转数组的方法即可:
val list = listOf(1,2,3,4,5) var arrayFromList = list.toIntArray()
内容的提问来源于stack exchange,提问作者Anonymous
相关产品推荐
相关产品推荐

