美文网首页
Kotlin 学习二

Kotlin 学习二

作者: 攻城狮xhb | 来源:发表于2017-06-06 17:08 被阅读0次

    一 : 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

    相关文章

      网友评论

          本文标题:Kotlin 学习二

          本文链接:https://www.haomeiwen.com/subject/myxnfxtx.html