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的定义与使用 整形常量的定义与使用 数组资源的定义与使用 图片资源的使用
随机推荐
- BZOJ 1977[BeiJing2010组队]次小生成树 Tree - 生成树
描述: 就是求一个次小生成树的边权和 传送门 题解 我们先构造一个最小生成树, 把树上的边记录下来. 然后再枚举每条非树边(u, v, val),在树上找出u 到v 路径上的最小边$g_0$ 和 严格 ...
- [线段树]picture
PICTURE 题目描述 N(N<5000) 张矩形的海报,照片和其他同样形状的图片贴在墙上.它们的边都是垂直的或水平的.每个矩形可以部分或者全部覆盖其他矩形.所有的矩形组成的集合的轮廓称为周长 ...
- UI设计工资有多高?怎么快速拿高薪?
1.UI设计工资有多高? 有人不服UI设计待遇薪资高,那么下面就来看下一线城市的最新UI设计平均薪资待遇,大家也可以打开各招聘网站查询各行业平均薪资情况,一个行业的薪资高不高行业市场决定. 待遇较高说 ...
- centos php 运行环境搭建
一.安装apache httpd rpm -qa|grep httpd //检查是否安装apache rpm -e 包名 --nodeps //若有则删除 PS:我没有删除,直接用的服务器原来的. y ...
- IntelliJ IDEA 配置svn
1.启用版本控制 2.在弹出的框中选择svn 3.下载并解压VisualSVN 下载地址:http://subversion.apache.org/packages.html#windows 4.i ...
- SQL查找指定行的记录
select top 1 * from (select top 4 * from T_GasStationPrice order by EnableTime) a order by EnableTim ...
- PHP大数据处理要注意的
1. 传递值使用引用传递 $a = get_large_array(); pass_to_function(&$a); 这样是传递变量的引用而不是拷贝 2.将大数据存在类的变量中 class ...
- JS高级-String- RegExp- Math- Date:
1. String: 切割: 将一个字符串,按指定分隔符,切割为多段子字符串 简单切割: 切割符是固定的 var arr=str.split("切割符") 强调: 切割后的结果中, ...
- mysql数据库进阶篇
一.连表操作 1)为何需要连表操作 .把所有数据都存放于一张表的弊端 .表的组织结构复杂不清晰 .浪费空间 .扩展性极差 2)表设计,分析表与表之间的关系 寻找表与表之间的关系的套路 举例:emp表 ...
- Python sys.argv[] 的用法
sys.argv变量是一个list, 执行 python abc.py a b c 时, sys.argv[0]为 abc.py sys.argv[1]为 a sys.argv[2]为 b sys.a ...
