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的定义与使用 整形常量的定义与使用 数组资源的定义与使用 图片资源的使用
随机推荐
- Json数据处理协议与办法
[JSON学习] 一.概述 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文 本格式,是理想的数据交换格式.同时,J ...
- Ubuntu安装bcmath扩展
sudo apt-get install php-bcmath
- 尝试解决nginx的499错误1
- 使用yarn 安装 Vue-DevTools
1. 从 github 下载 vuejs/vue-devtools https://github.com/vuejs/vue-devtools/archive/dev.zip 2.安装yarn 及 编 ...
- json(原生态)
什么是 JSON ? JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JSON 独立于语言 * JSO ...
- linux_关闭防火墙
centos6版本 永久关闭 chkconfig iptables off 查看状态 chkconfig iptables --list 此时关闭开机重新启动 service iptables sto ...
- ubunut下安装ibus_pinyin中文输入法
ubuntu安装中文输入法,,此处一ibus-pinyin为例为其安装中文输入法,,, 1. 设置(setting)---语言支持(language support)---汉语(chinese),,, ...
- Hadoop3集群搭建之——安装hadoop,配置环境
接上篇:Hadoop3集群搭建之——虚拟机安装 下篇:Hadoop3集群搭建之——配置ntp服务 Hadoop3集群搭建之——hive安装 Hadoop3集群搭建之——hbase安装及简单操作 上篇已 ...
- 2019.01.22 bzoj2874: 训练士兵(主席树)
传送门 题意简述:给出一个n∗mn*mn∗m的矩阵n,m≤1e8n,m\le1e8n,m≤1e8,支持矩形加,矩形求和,强制在线. 思路:第一眼二维动态开点线段树,上网去搜有没有这种做法发现会被卡时空 ...
- Elastic serarch 安装
1.安装 1.1下载最新的 elasticsearch-6.5.4.tar.gz 1.2解压 tar -zxvf elasticsearch-6.5.4.tar.gz 1.3 创建用户 elastic ...
