Kotlin 学习二
2017-06-06 本文已影响0人
攻城狮xhb
一 : Kotlin的String
① Kotlin 中的 String 类型与 Java 中的类似,都是不可变的对象。
② Kotlin 中的 String 类型只有 3 个常用函数和 1 个属性。
public override val length: Int
public override fun get(index: Int): Char //与 Java 中的 charAt() 方法相同
public override fun subSequence(startIndex: Int, endIndex: Int): CharSequence
public override fun compareTo(other: String): Int
③ Kotlin 中String可以视为为一个 CharArray 对象,可遍历字符串中的每个字符。
val s = "Hello World"
//在这里,Kotlin 编译器会把 c 自动推断为 Char 类型。
for(c in s) println(c)
二 : Kotlin的Array
暂先不介绍Array的构造函数,使用函数创建数组
① arrayOf() 函数。
val a = arrayOf("Hello", "world")
// 这里,arrayOf() 函数创建了一个 Array<String> 对象
val arr = arrayOf("aaa", "bbb", 123, true)
println(arr[2]) // 也可以这样写, 编译成功,输出结果为123
② emptyArray() 函数。
// emptyArray() 函数是创建一个长度为 0 的 null 数组,然后将它强制转换为指定类型的数组。
// 所以我们可以用 arrayOfNulls<T>(0) 替代 emptyArray() 函数
// 因为 emptyArray() 函数需要转换为特定的数组类型,所以定义变量需要指定数组类型,否则出现编译错误
val emptyArray1: Array<String?> = emptyArray()
// 也可以写成 val emptyArray2: Array<String?> = arrayOfNulls(0),这里是类型推断
val emptyArray2 = arrayOfNulls<String?>(0)
println(Arrays.equals(emptyArray1, emptyArray2)) // 输出 true
③ arrayOfNulls() 函数
val fixedSizeArray = arrayOfNulls<Int>(5)
// 直接指定长度,返回一个长度指定、所有值都是 null 的数组。
④ 不使用 Array 类, 使用装箱操作比如, 对于 Int 类型数组, 使用 IntArray 类替代 Array<Int> 类:
val arr = arrayOf(1, 2, 3)
val intArr = intArrayOf(1, 2, 3) //同理还有 booleanArrayOf() 等