Kotlin语言学习之使用data class修饰数据类对象
来源:互联网 发布:数据库漏洞扫描工具 编辑:程序博客网 时间:2024/06/11 15:16
参考地址:http://kotlinlang.org/docs/reference/data-classes.html
在Kotlin语言中,想要创建那种什么都不做只持有数据的Bean类,需要使用“data class”修饰数据类对象,类似于java语言中的Bean对象。
1、创建数据类
data class User(var name: String, var age: Int)
User就是一个数据类,需要在主构造函数里声明所有的属性。2、使用数据类
// 生成数据类对象val user = User("Tom", 20)// val user = User(name = "Tom", age = 20)// 设置属性值user.name = "Jack"user.age = 30// 获取属性值val name = user.name// val name = user.component1()val age = user.age// val age = user.component2()
注:
(1)生成类对象可以使用上面两种方式;
(2)类对象里,有几个属性,就会有几个这个方法componentN()
,比如上面的示例,user.name = user.component1();
说明:
componentN()函数对应的是声明属性时的属性。
如果从基类继承的函数或者在类主体里自定义的函数被具体定义,都不能自动产生!
为了保证生成代码的一致性和有意义的方法,数据类对象必须满足以下要求:
To ensure consistency and meaningful behavior of the generated code, data classes have to fulfil the following requirements:
(1)构造函数必须至少有一个参数
(2)所有的构造函数参数必须标注val或者var;
(3)数据类对象不能是 abstract, open, sealed or inner;
(4)数据类对象不能继承其他类,但是可以实现接口
(5)在Java虚拟机里,如果生成的类需要有一个无参数的构造函数,所有属性的默认值必须有一个具体的值,例如:
3、复制数据类对象
使用copy方法赋值类对象,如下:
val user = User("Tom", 20)val user2 = user.copy(age = 30)
val user = User("Tom", 20)val (name, age) = user
阅读全文
1 0
- Kotlin语言学习之使用data class修饰数据类对象
- Kotlin语言学习之使用object和companion object修饰静态类和静态方法
- Kotlin-13.数据类(data class)
- kotlin中的数据类data class
- Kotlin类和对象 (六)--- 数据类 (data class)
- Kotlin学习笔记(7)-Data Class
- KotLin——Data class 使用
- Kotlin语言学习之Array数组使用
- Kotlin语言学习之when表达式使用
- Kotlin 学习之可见性修饰符
- Kotlin Data Class
- Kotlin-属性-接口-修饰符-数据类
- # Kotlin学习之-5.6 数据类
- Kotlin Reference (八) 可见性修饰符, data class,object Claz
- Kotlin语言学习之fun函数扩展使用
- Kotlin学习(十): 可见性修饰符和数据类
- JsonToKotlin(Kotlin开发神器)----Json数据示例直接生成Kotlin Data Class 开发插件
- Kotlin 官方学习教程之可见性修饰符
- 分布式系统+数据库主从复制详解
- Linux内核中CONFIG_OF宏的解释
- MySQL 主主复制
- EventBus3.0事件总线的基本使用
- Nginx服务器nginx.conf的组成和作用详解
- Kotlin语言学习之使用data class修饰数据类对象
- 使用Gson进行json数据转换(list to json 和json to list)
- overflow不一定能隐藏元素(position:absolute)
- 各种类型文件的Content Type,基本全部都有
- Retrofit分析-漂亮的解耦套路
- php中字符串过长使用Heredoc结构形式解决
- eclipse设置字体时window窗口中找不到preferences的情况解答
- LoRa Server Project 01 概览
- NFS挂载错误解决