Kotlin学习笔记 三-kotlin可空性与字符串操作

kotlin可空性

安全调用操作符 ?

a?.函数 如果为空 则函数不执行 一般为该对象的自带函数 可以瀑布式调用 a?函数1?.函数2
let 除了自带函数 还想做一些额外操作 例如对本对象操作,或者进行网络请求
a.?let{
//操作
}
虽然也可以if else 判断 但是安全调用操作符更加方便,简洁,例如支持瀑布调用。以后尽量使用操作符。

非空断言操作符 !!

非空断言操作符 !! 遇到空 就抛异常 可以用try catch 捕捉异常 eg try{a!!. jh}catch{}。多用用try catch 来捕捉抛出异常,写的程序会更加健壮,目前我还没有这种捕捉异常的习惯,这是十分不好的

空合并操作符 ?:

a?:“daxiong” 若为空 则把冒号后面值给变量 。这个是经常使用的,如果为空,则赋值,这样能省掉一些空判断或捕捉的代码。相当于java的三元表达式
可以结合其他函数来使用(瀑布调用
例如 Str= str?.let{
//操作}?:“赋值”

如果str不为空,就执行let 否则赋默认值。这样的代码就尽可能的精简了。

总之,使用kotlin编程,类似于瀑布式的调用可以多尝试使用,使得代码精简,发挥kotlin的特性

kotlin字符串

截取字符串 substring

支持intrange eg a=“abcdefg”
int aa=indexof(‘c’) bb=substring(0 until aa) 得到ab 不包含上限值
这个indextof函数也比较有用 之前一直忘记使用
对于intrange
val range1:IntRange =0…500//全闭区间
val range2:IntRange =0 until 500//左闭右开区间

https://blog.csdn.net/qq_27865227/article/details/77659010

分割字符串 split

因为split返回列表 列表支持结解构语法特性(同时给多个变量复制) eg a=“a,b,c,d”
(A,B,C,D)=a.split(’,’).解构语法主要是用来简化赋值

字符串替换 replace

kotlin replace 支持传入两个参数 一个正则表达式 一个匿名函数
eg “abcdefg”.replace(regex(“abc”)){
when(it.value)
{‘a’–>‘A’
……
else–>it.value
}
}

字符串比较

== 字符内容比较 ,==是否是同一对象地址比较 . 而java 中 ==是引用比较 equals是结构比较 。总的来说 。 一般,==可以替代Java的equals

字符串遍历

kitlin有.foreach{it
}函数

数字类型 安全转换函数

字符串转数字 有tointorenull, todounleornull 之类的安全转换函数 例如 有小数的字符串转int 就为空(如果直接 “7.8”.toInt(),则会抛异常,这时就需要安全转换函数)。 double 转 int 有toroundint 这样的四舍五入函数。 double转字符串, 有"%.2f". format(4.645456) 返回的是字符串 “4.64”,这类的格式化函数。

kotlin字符串拼接

可以使用+号直接拼接(与java一样),前提是拼接对象必须被转换为字符串,也可以通过 $ 符号,直接将变量直接插入字符串,这样省去一定的类型转换工作。
eg a :Int =4 str=“ssss $a” 或者 str=“the length is ${“ddddd”.length()}”

字符串拼接(string +,stringBuilder等区别)

https://blog.csdn.net/qq_40687864/article/details/90640086
https://www.cnblogs.com/goody9807/p/6516374.html

字符串操作汇总

https://juejin.cn/post/6844903613869883405

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值