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() 等

参考博客:https://zhuanlan.zhihu.com/p/26520055

上一篇下一篇

猜你喜欢

热点阅读