转载请注明出处王亟亟的大牛之路
开篇之前还是老规矩,先安利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
数据结构就提到这里,下一篇会讲简单的语法,终于可以开始写内容了,感谢观众老爷们