Android-Kotlin-空值处理&字符串比较&常量
空值处理:
【案例一:】
1.Kotlin对控制处理很严格,默认就不能写null,否则编译都不通过:
描述Car汽车对象:
package cn.kotlin.kotlin_base01 /**
* 描述Car汽车对象
*
* 参数一: 车名, 参数二: 车的价值
*/
class Car (var carName:String, var carMoney: Double) { /**
* 得到车的信息
*/
fun getCarInfo() : String {
return "这台车叫${carName},价值${carMoney}元人民币"
} }
main测试方法:
默认是不能赋值为null的:

变量默认也不能赋值为null的:

以上案例体现了:Kotlin对控制处理很严格,默认就不能写null,否则编译都不通过
Kotlin但也提供了 可以赋值null的方式,那就是给 变量加? ,例如:var name : String ? = null 加入? 意思是:允许传null
【案例二】
package cn.kotlin.kotlin_base01 /**
* 描述Car汽车对象
*
* 参数一: 车名, 参数二: 车的价值
* 加入? 意思是:允许传null
*/
class Car (var carName:String ?, var carMoney: Double) { /**
* 得到车的信息
*/
fun getCarInfo() : String {
return "这台车叫${carName},价值${carMoney}元人民币"
} }
main测试方法:
package cn.kotlin.kotlin_base01
fun main(args: Array<String>) {
// 实例化保时捷对象
var car1 : Car = Car("保时捷AXT系", 1000000.00)
println(car1.getCarInfo())
// 实例化对象
var car2 : Car = Car(null, 65354.00)
println(car2.getCarInfo())
// 定义String类型的变量 加入? 意思是:允许传null
var str : String ? = null
println("str:${str}")
}
执行结果:

字符串比较:
string1.equals(string2) 等同于string1 == string2, 所以在Kotlin中的==是比较值本身, 而Java是[Java中 == 比较的是内存地址]
package cn.kotlin.kotlin_base01 /**
* 字符串比较
*/
fun main(args: Array<String>) { var string1 : String = "ABC" var string2 : String = "ABC" // 打印true,因为在Kotlin中 == 比较的是值本身, [Java中 == 比较的是内存地址]
println(string1 == string2) // 打印true,因为 equals 比较的也是值本身
// 所以string1.equals(string2) 等同于string1 == string2
println(string1.equals(string2)) }
执行结果:

常量:
val 是常量
var 是变量
被val修饰的,其他地方不能修改,否则编译不通过:
package cn.kotlin.kotlin_base01 /**
* 常量
*/
fun main(args: Array<String>) { // 定义我的博客地址是固定的,不准修改了[常量]
val cnblogs: String = "https://www.cnblogs.com/android-deli/" println(cnblogs)
}
执行结果:

Android-Kotlin-空值处理&字符串比较&常量的更多相关文章
- Kotlin入门(5)字符串及其格式化
上一篇文章介绍了数组的声明和操作,包括字符串数组的用法.注意到Kotlin的字符串类也叫String,那么String在Java和Kotlin中的用法有哪些差异呢?这便是本文所要阐述的内容了. 首先要 ...
- Android中如何截取字符串中某个字符之前或之后的字符串
代码改变世界 Android中如何截取字符串中某个字符之前或之后的字符串 //截取#之前的字符串 String str = "sdfs#d"; str.substring(0, s ...
- 从字符串到常量池,一文看懂String类设计
从一道面试题开始 看到这个标题,你肯定以为我又要讲这道面试题了 // 这行代码创建了几个对象? String s3 = new String("1"); 是的,没错,我确实要从这里 ...
- PHP 2 语句 数据类型 字符串函数 常量
在 PHP 中,有两种基本的输出方法:echo 和 print. 在本教程中,我们几乎在每个例子中都会用到 echo 和 print.因此,本节为您讲解更多关于这两条输出语句的知识. PHP echo ...
- Android -------- kotlin插件神器Json直接生成javaBean
这是一个data class从JSON字符串生成Kotlin 的插件,换句话说,是一个将JSON字符串转换为Kotlin data class(Json到Kotlin)的插件 在使用Kotlin进行开 ...
- Android Studio 轻松整理字符串到string.xml中
昨天了解了Alt+Enter快捷键的大用处,今天又发现了一个快捷的方法,必须记下来.转载请注明出处http://www.cnblogs.com/LT5505/p/5466630.html 1.首先代码 ...
- String字符串针对常量池的优化
String对象是java语言中重要的数据类型,但是不是基本数据类型.相对于c语言的char java做了一些封装和延伸. 针对常量池的优化:当两个String拥有相同的值时,它们只引用常量池中的同一 ...
- 字符串String: 常量池
2.1 String类 String是不可变类, 即一旦一个String对象被创建, 包含在这个对象中的字符序列是不可改变的, 直至该对象被销毁. String类是final类,不能 ...
- Android的图片,字符串,demin,color,以及Array,boolean,Integer资源的使用-android学习之旅(五十四)
总体介绍 颜色值的定义 定义字符串,颜色,尺寸资源 字符串 颜色资源 尺寸资源 使用字符串,颜色,尺寸资源 boolean的定义与使用 整形常量的定义与使用 数组资源的定义与使用 图片资源的使用
随机推荐
- 多字节字符集与Unicode字符集
在计算机中字符通常并不是保存为图像,每个字符都是使用一个编码来表示的,而每个字符究竟使用哪个编码代表,要取决于使用哪个字符集(charset). 多字节字符集: 在最初的时候,Internet上只有一 ...
- sleep()方法和yield()方法有什么区别?
两者都是Thread类的静态方法,定义如下 public static void sleep(long millis) throws InterruptedException public stati ...
- HTML 学习杂记
代码范例 <?php function testFunc1 () { echo 'testFunc1'; } $b = ; ?> <!DOCTYPE html PUBLIC &quo ...
- Java SE学习【三】——JDBC
最近学到了数据库与java的jdbc方面,还有个DAO模式,写一下自己的理解,后期有什么不对的再改. 一.数据库三范式的理解 记得以前上课时,也上了一学期的“数据库系统原理”,给我们上课的老师算是渣渣 ...
- 【Redis】安装 Redis接口时异常 ,系统ruby版本过低
场景 操作系统Linux CentOS 7.2,安装Redis接口时,使用命令:gem install redis ,用于系统ruby版本过低,报错“redis requires Ruby versi ...
- JS高级-String-正则表达式:
1. String: 由多个字符组成的字符只读数组 vs 数组: 相同: 1. 下标, 2. .length, 3. 遍历, 4. .slice 不同: 类型不同! API不通用 API: 所有字符 ...
- unity技巧
在之前的程序编写过程中,虽然对相关的方法进行了实例化,但是在运行的时候总是会出现“未将对象引用设置到对象的实例”,出现该种问题的原因是由于在实例化后,没有对实例化进行引用赋值,所以导致相关变量无法在其 ...
- 再读c++primer plus 003
1.如果函数返回一个结构而不是一个指向结构的引用,将把整个结构复制到一个临时位置,再将这个拷贝复制给dup.但在返回值为引用时,将直接复制给变量,其效率更高. 2.返回引用时最重要的一点是,应避免返回 ...
- 手机上输入http://192.168.1.102:8888/FiddlerRoot.cer为什么下载不了证书
因为之前你的手机可能已经安装了该证书,所以再次下载会说找不到证书 解决办法:如果你遇到上面的问题,就可能是证书的问题(我的本地证书是用系统生成证书的一个软件生成的个人证书,所以出现了问题),操作步骤如 ...
- springboot aop+@interface实现日志记录
一.基本概念 1.自定义注解 自定义注解我们必须了解四个元注解,什么是元注解?元注解指作用于注解之上的元数据或者元信息,简单通俗的讲,元注解就是注解的注解 . Documented与Inherited ...
