靠他灵
Java 类型数据赋值
小的可以赋值给大的,大的不可以赋值给小的。
kotlin 类型数据赋值
严格,不同类型数据相互赋值需要类型转换,转换使用to方法,比如:toInt
kotlin 可变量和不可变量
var 声明的是可变量
val 声明的是不可变量
知识点:
1.kotlin没有Java中的extends,implements这些表示继承、实现的关键字,取而代之的是:
2.kotlin中表示类对象的关键词有class、object、interface、file等,使用方法和Java中区别不大
3.kotlin中表示实例对象的关键字有var、val,var表示可变的,val表示不可变的,一般常量用val,其他的都用var
4.kotlin的一大特色就是非空检查,因此之前声明使用?的对象在使用时要在后面加两个!,否则编译器会报错
5.在build.grade文件中添加了apply plugin: ‘kotlin-android-extensions’,就可以直接在activity或fragment中使用控件id,不必在通过findviewById或butterknife来查找控件
6.kotlin中需要使用某个类时比如跳转到TestActivity,使用类名是TestActivity::class.java,和Java略有不同,在activity某个匿名方法中使用this,表示方式是this@TestActivity
所有方法的关键字都是fun,如果有返回值,直接在方法后面加 :和返回类型
如果使用了recyclerview,添加adapter时需要有数据且不为空,否则直接会报空指针,不知道是我使用的不对,还是kotlin就是这样的用法😊
7.kotlin中可以使用
符
号
将
非
s
t
r
i
n
g
类
型
的
对
象
转
换
成
s
t
r
i
n
g
,
比
如
v
a
r
m
o
v
i
e
I
d
=
0
v
a
r
c
=
"
符号将非string类型的对象转换成string,比如 var movieId = 0 var c ="
符号将非string类型的对象转换成string,比如varmovieId=0varc="movieId" 或者 var c ="${movieId}",加大括号用在非单一类型的对象 如 person类等
kotlin中语法糖就是lambda表达式,这样可以让代码更好看,比如:
indexMovieAdapter!!.setOnItemClickListener { _, _, position ->
val moviewInfo = indexMovieAdapter!!.getItem(position)
val intent = Intent(activity, MovieDetailActivity::class.java)
intent.putExtra(“id”, moviewInfo!!.id)
startActivity(intent)
}
toolbar.setNavigationOnClickListener {
//it 代表view
finish() }
如果只有一个缺省参数,缺省参数用it来代替
Kotlin学习资料
Kotlin中文官网:https://www.kotlincn.net/
Kotlin中文文档:http://www.kotlincn.net/docs/reference/
Kotlin项目列表:https://github.com/KotlinBy/awesome-kotlin
Kotlin视频教程:https://www.bilibili.com/video/av10642849/
Kotlin入门文档:https://kymjs.com/code/2017/02/03/01/
Kotlin资源大全:https://zhuanlan.zhihu.com/p/27000007
知识点参考:黑马程序员课堂