分享下学习Kotlin的历程-数据类型(2)

转载请注明出处王亟亟的大牛之路

开篇之前还是老规矩,先安利https://github.com/ddwhan0123/Useful-Open-Source-Android 还是尽量每天做更新和维护

上一篇讲了Kotlin的简单数据结构,这一把讲讲字符串和数组等“高端姿势“


数组

Kotlin的数组和传统的 int []姿势的数组有所不同,虽然他还是一个依次排序的容器,但是毕竟高级语言就是 封装封装封装。所以已经集成了get() set()这些方法,包括老式的.length()也变成了洋气的.size()
像这样

这里写图片描述

那么是如何创建数组的呢??

在Library.kt文件里提供了众多创建数组的方式,诸如

arrayOf(vararg elements: T)//创建数组
arrayOfNulls(size: Int)//创建一个定长值是空的数组
doubleArrayOf(vararg elements: Double)//创建一个double类型的数组

当然你也可以调构造函数创建数组,像这样

  var j = Array(10, { i1 -> i1 * i1 })

也能达到同样的效果

当你想创建一个空数组了,允许吗?

当然可以,也有提供相关工具方法var k = emptyArray<Int>()

结果如下
这里写图片描述

访问元素和传统姿势和高科技姿势,都可以满足你的诉求

val k = arrayOf(1, 2, 3)
println(k[1])         //  1
println(k.get(1))     //  1

当你get参数下标越界了会抛出 ArrayIndexOutOfBoundsException的异常

当然还存在各种去重,排序等高端姿势,这里就不做深入介绍了,可以自行去翻翻API


字符串

kotlin的字符串也是一个不可变的数组,这个数组的每一个元素是一个字符,可以像取数组内容一样,根据下标取值

 var l: String = "1086"
 var m = l.length

他并没有set,size的方法和传统姿势一样,长度是length属性

传统的java字符串如果要换行,或者是打复杂姿势(就是小时候学习学习 print() println()那一套姿势)
而Kotlin有一个多行字符串打高端姿势

  var n = """
           if(a){}
        """

结果如下
这里写图片描述

字符串拼接,和传统姿势一样 +号连接即可

     var o: String = f.toString() + "1234"

结果:o 10.01234

数据结构就提到这里,下一篇会讲简单的语法,终于可以开始写内容了,感谢观众老爷们

源码地址:https://github.com/ddwhan0123/KotlinAndroidDemo

猜你喜欢

转载自blog.csdn.net/ddwhan0123/article/details/77843821