空值处理:

【案例一:】

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-空值处理&字符串比较&常量的更多相关文章

  1. Kotlin入门(5)字符串及其格式化

    上一篇文章介绍了数组的声明和操作,包括字符串数组的用法.注意到Kotlin的字符串类也叫String,那么String在Java和Kotlin中的用法有哪些差异呢?这便是本文所要阐述的内容了. 首先要 ...

  2. Android中如何截取字符串中某个字符之前或之后的字符串

    代码改变世界 Android中如何截取字符串中某个字符之前或之后的字符串 //截取#之前的字符串 String str = "sdfs#d"; str.substring(0, s ...

  3. 从字符串到常量池,一文看懂String类设计

    从一道面试题开始 看到这个标题,你肯定以为我又要讲这道面试题了 // 这行代码创建了几个对象? String s3 = new String("1"); 是的,没错,我确实要从这里 ...

  4. PHP 2 语句 数据类型 字符串函数 常量

    在 PHP 中,有两种基本的输出方法:echo 和 print. 在本教程中,我们几乎在每个例子中都会用到 echo 和 print.因此,本节为您讲解更多关于这两条输出语句的知识. PHP echo ...

  5. Android -------- kotlin插件神器Json直接生成javaBean

    这是一个data class从JSON字符串生成Kotlin 的插件,换句话说,是一个将JSON字符串转换为Kotlin data class(Json到Kotlin)的插件 在使用Kotlin进行开 ...

  6. Android Studio 轻松整理字符串到string.xml中

    昨天了解了Alt+Enter快捷键的大用处,今天又发现了一个快捷的方法,必须记下来.转载请注明出处http://www.cnblogs.com/LT5505/p/5466630.html 1.首先代码 ...

  7. String字符串针对常量池的优化

    String对象是java语言中重要的数据类型,但是不是基本数据类型.相对于c语言的char java做了一些封装和延伸. 针对常量池的优化:当两个String拥有相同的值时,它们只引用常量池中的同一 ...

  8. 字符串String: 常量池

    2.1          String类 String是不可变类, 即一旦一个String对象被创建, 包含在这个对象中的字符序列是不可改变的, 直至该对象被销毁. String类是final类,不能 ...

  9. Android的图片,字符串,demin,color,以及Array,boolean,Integer资源的使用-android学习之旅(五十四)

    总体介绍 颜色值的定义 定义字符串,颜色,尺寸资源 字符串 颜色资源 尺寸资源 使用字符串,颜色,尺寸资源 boolean的定义与使用 整形常量的定义与使用 数组资源的定义与使用 图片资源的使用

随机推荐

  1. 第一次java实验报告

    实验一Java开发环境的熟悉-1 步骤: mkdir +20165213exp1创建20165213exp1这个目录 cd +20165213zqh进入这个目录 mkdir+src+bin创建目录sr ...

  2. Hive 系列(二)权限管理

    Hive 系列(二)权限管理 一.关于 Hive Beeline 问题 启动 hiveserver2 服务,启动 beeline -u jdbc:hive2:// 正常 ,启动 beeline -u ...

  3. rm命令删除文件时排除特定文件

    删除文件时排除特定文件 www.python  tab.com/html/2013/linuxkaiyuan_0205/214.html 删除当前目录下所有 *.txt文件,除了test.txt 1 ...

  4. c++11 多线程依次打印ABC

    并发 练习代码 #include <thread> #include <vector> #include <mutex> #include <iostream ...

  5. windows mysql 主从热备

    环境说明:   Master:192.168.1.200 Slave:192.168.1.210     MySQL 的 Master 配置:   配置my.ini:   [mysqld]   # T ...

  6. solr搜索配置权重

    配置权重 <requestHandler name="/browse" class="solr.SearchHandler" default=" ...

  7. centos下安装nodejs

    1.首先要安装gcc, # yum install libtool automake autoconf gcc-c++ openssl-devel 2.可以进入某个目录,下载NodeJS v0.10. ...

  8. dfs序理解-hdu3887

    dfs序就是相当于把树转化成了一个区间,在区间上进行操作. void dfs(int u, int fa) { l[u]=++key; ; i=e[i].next) { int v=e[i].v; i ...

  9. css初识和css选择器

    一.css是什么 css(cascading style sheet)定义如何显示HTML元素,给HTML设置样式,显得更为美观. 二.css的引入方式 1.行内引入 在标签中添加一个style是属性 ...

  10. python学习之ansible api

    Python API 2.0 从2.0的事情开始更复杂一些,但是你会得到更多离散和可读的类: #!/usr/bin/env python import json from collections im ...