版权声明:本文为xing_star原创文章,转载请注明出处!

本文同步自http://javaexception.com/archives/217

kotlin之变量与常量

最近开始做新产品,于是乎用起了kotlin,早在17年,还是上家公司的时候,用的比较多,后来到了新公司,还是写起了java,既然又重新用起了kotlin,那么就开始一个系列的文章吧,总结下关于kotlin相关的一些知识点。

本篇主要说变量与常量,变量在kotlin中,用var来修饰声明,常量是val,那么一个对象或者是普通类型我们应该将它声明为变量还是常量,我有自己判断的标准。

如果是普通类型,比如Int,Double,Float,String等基础类型的,如果能够确定后面不会更改它的值,那么就定义为常量,比如val maxRetryCount: Int = 5。这种就是确定了不会修改maxRetryCount的值。如果能够确定在后续的程序逻辑中更改它的值,那么就定义为变量,比如var retryCount: Int = 1。

如果是数组类型的呢,比如MutableList<Fragment>这样的集合类型,对于这种我倾向于是常量类型,因为数组是个容器,只是用来存放一个个的子元素的。可以定义为val fragments: MutableList<Fragment> = mutableListOf()

如果是我们定义的Model之类的类型呢,如User或者是Fragment之类的对象类型。在Activity类中,有两个成员变量,一个是user,一个是fragment。但是呢,对这两个变量的赋值是放在后面的,只好将他们定义为变量,用var修饰。对于user是var user: User? = null, 对于fragment是var fragment: Fragment? = null

看上面的,我们这里引出了一个变量可以是可空类型的,下篇我们在讲讲变量的可空与非空。