表达式b?.length可以转换为“如果b不为null则在调用b的长度,否则返回null”。此表达式的返回类型是Int?类型因为它可能导致null。 除了显示的运算符之外,Kotlin库还提供了许多有用的函数,比如String?:: IsNullOrEmpty(),String :: toDoubleOrNull()和List :: filterNotNull()
val files = File("Test").listFiles() println(files?.size ?: "empty") 1. 2. If not null and true if (someObject?.status == true) doThis() 1. 或 someObject?.takeIf{ it.status }?.apply{ doThis() } 1. If not null and true or else if (someObject?.status == true) { doT...
*/publicfun<T>List<T>.getOrNull(index:Int):T?{returnif(index>=0&&index<=lastIndex)get(index)elsenull} 参数分析 :在该函数中 , 传入函数索引参数 ; 返回值分析 :返回给定[index]处的元素,如果[index]不在列表范围内,则返回’ null '。 三、List 创建与元素获取代码示例 代码示例 : 代码语言:jav...
、 String.toDoubleOrNull(): Double? 等。 代码语言:javascript 代码运行次数:0 运行 AI代码解释 val port = System.getenv("PORT")?.toIntOrNull() ?: 80 还有整数转换函数,如 Int.toString()、 String.toInt()、 String.toIntOrNull(), 每个都有一个带有 radix 参数的重载,它允许指定转换的基数(2 ...
(arg2)// 直接使用 `x * y` 会导致错误, 因为它们可能为 nullif(x!=null&&y!=null){// 在进行过 null 值检查之后, x 和 y 的类型会被自动转换为非 null 变量println(x*y)}else{println("'$arg1' or '$arg2' is not a number")}}fun main(){printProduct("6","7")printProduct("a","...
getOrElse、elementAtOrElse、getOrNull、elementAtOrNull,这几种属于安全取值,查找不到有辅助处理; //该方式获取时,若索引越界会抛异常 println(list[4]) println(list.elementAt(1)) //该方式获取指定的索引的值,若越界会返回指定的默认字符串 println(list.getOrElse(4){"UnKnown"}) ...
Kotlin: Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type String? 不让调用captalize函数是因为没有考虑beverage变量为空的情况 6.4.1 选项一:安全调用操作符 在对一个可能为 null 的变量函数调用时,使用安全操作符?.,这样如果遇到 null 值,就会跳过函数调用...
isNullOrEmpty():字符串为 null 或者长度是否为 0 isBlank():字符串为空(仅包含空字符) isNotBlank():字符串不为空 isNullOrBlank():字符串为 null 或者为空 同时,可通过扩展方法扩展更多的功能,参考扩展。 字符串拼接、格式化 Kotlin 提供了模版字符串,简化了字符串拼接和格式化的操作。
支持Flow+Retrofit+OkHttp实现链式http请求 支持Rxjava+Retrofit+OkHttp实现链式http请求 全局配置网络加载错误页面,并支持重新加载数据 全局配置列表空页面 封装基类:BaseActivity、BaseVMActivity、BaseFragment、BaseVMFragment、RecycleAdapter、BaseViewModel 引入LifeCycle,将ViewModel和Activity的生命周期绑定在一起 ...
if (x != null && y != null) { // x and y are automatically cast to non-nullable after null check println(x * y) } else { println("'$arg1' or '$arg2' is not a number") } } 比如b必须是string,但是加上?,代表它在某些情况下可以被设置为null fun main() { var b: Stri...