kotlin各变量和使用方法详解
程序员文章站
2024-02-17 16:27:16
...
1、var和val的区别:
var是一个可变变量,这是一个可以通过重新分配来更改为另一个值的变量。这种声明变量的方式和java中声明变量的方式一样。
val是一个只读变量,这种声明变量的方式相当于java中的final变量。一个val创建的时候必须初始化,因为以后不能被改变。
2、在kotlin中不用findviewbyId的方式查找页面定义的id,可以在类中直接调用:
首先需要在build.gradle中加入一行代码:
apply plugin: 'kotlin-android-extensions'
截图如下:
在类中可以直接使用定义的id:需要引入包即可;非常方便,本来看了kotlin半天感觉用处不大时,看到了这个方法,决心要把kotlin学下去。
import kotlinx.android.synthetic.main.activity_main.*
3、在定义变量bean时的get、set方法改为:
-
var id: String? = null
-
var name: String? = null
4、定义方法时直接写成fun的形式:for循环也进行了修改
如果是0到3,则写为:
for(i in 0 .. 3){
}
fun getValues() {
valueList.clear()
val value1 = BaseValue("1、dialog的使用")
val value2 = BaseValue("2、Retrofit")
val value3 = BaseValue("3、图片选择和裁剪")
valueList.add(value1)
valueList.add(value2)
valueList.add(value3)
}
5、进行点击事件时new AdapterView.OnItemClickListener()改为
object : AdapterView.OnItemClickListener
6、以前的设置adapter时gridview_picture.setAdapter(adapter);改为:
gridview_picture!!.adapter = adapter
?:表示当前是否对象可以为空
!!: 表示当前对象不为空的情况下执行
var b: String? = "abc" 表示b可以为空
b?.length
表示当b不为空的情况下执行
val l = b?.length ?: -1
如果b不为null,将返回b的长度,如果为null,将返回-1
笼统来说,Kotlin的设计者应该就是想用冒号来笼统表示类型这一概念。
7、list定义方式:
val list: List<String> = listOf("1、dialog的使用","2、Retrofit","3、图片选择和裁剪")
8、将内容转为kotlin时,报错is a mutable property that could have been changed by this time
是因为在引用这个类的文件时没有判断为空:如下加上!!后就好使了。
popWindow!!.setFocusable(true)
9、类中实现某个方法impletents改为
class MvpActivity : BaseActivity(), FindItemsInteractor.OnFinishedListener {
10、kotlin中类的命名方式:
大家在定义一个类时,有时候需要定义该类的构造方法,那么在kotlin中可以直接下载类名下,如:
class MvvmModel(val view : MvvmView, val adapter : MvvmAdapter) : BaseLoadListener<User> {
特别要注意的是,用的是圆括号,如果用的是尖括号需要定义为抽象方法,代表着调用该类时需要传的值。
11、Java方法调用Kotlin定义的全局类需要加上INSTANCE
GlobalData.INSTANCE.getPortal();
上一篇: Java——抽象类(Abstract)
下一篇: 《C与指针》笔记(五)