一. 字符串
字符串转换目录 | Kotlin的转换方式 | java的转换方式 |
字符串转整形 | toInt | Integer.parseInt(字符串变量) |
字符串转长整形 | toLong | Long.parseLong(字符串变量) |
字符串转浮点数 | toFloat | Float.parseFloat(字符串变量) |
字符串转双精度 | toDouble | Double.parseDouble(字符串变量) |
字符串转布尔型 | toBoolean | Boolean.parseBoolean(字符串变量) |
字符串转数组 | toCharArray | toCharArray |
字符串常用的截取方式:split方法
例子:
val origin:String = tv.text.toString();
if(origin.indexOf('.')>0){
var strList:List<String> = origin.split(".");
var strResult:String="";
for(item in strList){
strResult = StrResult+item+","
}
tv.text =strResult;
;}
以上的以逗号分隔,然后我们注意Kotlin分割后返回的是一个List,而在java中的返回的是一个数组,注意一下就行了,还有就是val 声明的变量是不可改变的这种声明变量的方式相当于java中的final变量。
二. 字符串的拼接
在java中我们拼接字符串的时候更多的使用StringBuffer,StringBuilder来实现的,在Kotlin那就简化了许多,不用一堆代码繁琐的拼接直接用“$变量名”
例如:
var init:String = “我爱中国”;
tv.text="字符串的初始值是$init"
Kotlin中的特殊符号的转义格式“${'转义的符号'}”
例如:
var int:Int =100;
tv.text="美元的金额为${'$'}$int"
三. 容器
Kotlin中的三大容器: 集合Set,队列List,映射Map
Kotlin中的容器 | 容器名称 | 容器的初始化方法 |
只读集合 | Set | setOf |
可变集合 | MutableSet | mutableSetOf |
只读队列 | List | listOf |
可变队列 | MutableList | mutableListOf |
只读映射 | Map | mapOf |
可变映射 | MutableMap | mutableMapof |
3.1 Set/MutableSet集合的遍历
1)通过for循环
val bookSet:Set<String> = setOf("第一行代码","Android开发艺术探索","Android 高级进阶","Android NDK开发","Android 音视频开发");
var desc ="";
for(item in bookSet){ //固定套路
desc ="${desc}名称:${item}\n"
}
2)通过迭代器遍历
val bookSet:Set<String> = setOf("第一行代码","Android开发艺术探索","Android 高级进阶","Android NDK开发","Android 音视频开发");
var desc ="";
val iterator = goodsMutSet.iterator();
while(iterator.hasNext(0)){
val item = iterator.next();
desc ="${desc}名称:${item}\n"
}
3)forEach遍历
val bookSet:Set<String> = setOf("第一行代码","Android开发艺术探索","Android 高级进阶","Android NDK开发","Android 音视频开发");
var desc ="";
bookSet.forEach{
desc = "${desc}名称:${it}\n"
}
但是Set 是只读集合,初始化后不能够更改,具有很大的局限性
MutableSet的add()方法添加元素位置不确定,而且一旦添加进去没有API提供修改,它的
remove()方法用于删除指定的元素,但是无法删除指定位置的元素,感觉这一组很鸡肋,没什么卵用啊!
3.2队列List/MutableList
1)它的遍历方式和上面的一样,不用多想
2) MutableList中提供了sortBy表示按照升序排列,sortByDescending方法表示按照降序排列