kotlin之变量与常量
版权声明:本文为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
看上面的,我们这里引出了一个变量可以是可空类型的,下篇我们在讲讲变量的可空与非空。
最新文章
- 【原】tomcat 7 启动报错:java.lang.NoSuchMethodError: javax.servlet.ServletContext.getSessionCookieConfig()Ljavax/servlet/SessionCookieConfig的解决
- 【原】移动web页面给用户发送邮件的方法 (邮件含文本、图片、链接)
- 一步步学习javascript基础篇(5):面向对象设计之对象继承(原型链继承)
- Tomcat7基于Redis的Session共享实战一
- [WebServer] Windows操作系统下 Tomcat 服务器运行 PHP 的环境配置
- selected 刷新页面后selected选中的值保持不表(thinkphp 从控制器assign 传值到js)
- POJ3691 DNA repair(AC自动机 DP)
- uva 10562 undraw the trees(烂题) ——yhx
- Update startup files更新安装文件
- POJ 1751 Highways (最小生成树)
- 关于GridBagLayout的讲解哦
- 管理SQL Server数据库服务器的安全防范原则
- VS单元测试入门实践教程
- Scala:枚举类型的用法
- Git从入门到差不多会用
- AD域控Dsquery查询命令实列
- 巧用Openlayers4的Style
- sqlserver 判断字符串是否是数字
- SSH服务器拒绝了密码
- python测试开发django-45.xadmin添加小组件报错解决
热门文章
- .Net core-邮件发送(同步,异步)底层代码(欢迎留言讨论)
- [TimLinux] JavaScript 代码控制滚动条移动到顶部/底部
- AcWing 291.蒙德里安的梦想
- python爬虫学习---爬取微软必应翻译(中英互译)
- vue中$attrs和$listeners以及inheritAttrs的用法
- 【原创】005 | 搭上SpringBoot请求处理源码分析专车
- 1. 初探--prometheus调研
- ASP.NET Core开发者指南()
- ACM/ICPC 2018亚洲区预选赛北京赛站网络赛 D 80 Days (线段树查询最小值)
- 在.NET Core控制台中使用依赖注入