数据 class Kotlin 到 Java Class
Data class Kotlin to Java Class
我有一个 kotlin 数据 class,我正在尝试从 Java 方法调用它。
data class Item (
@PrimaryKey(autoGenerate = true) var var1: Long? ,
@ColumnInfo(name ="var1") var var2: Long){}
从 Java 开始,我正在尝试保存项目列表,因此我需要实例化数据 class。我不明白我该怎么做。
实例化 data class
与实例化 "normal" Kotlin class.
没有什么不同
从您的 Java 代码中,您将其实例化为 Java class:
Item item = new Item(1L, 2L);
仅供参考,data class
是自动获取以下成员的 class
(参见 documentation here):
equals()
/hashCode()
对;
toString()
形式 "MyClass(field1=value1, field2=value2)";
componentN()
函数对应属性声明顺序;这对 destructuring declarations 很有用,例如:
data class Item(val val1: Long, val val2: Long)
fun main(args: Array<String>) {
val item = Item(1L, 2L)
val (first, second) = item
println("$first, $second")
}
这将打印:1, 2
copy()
函数。
您的数据 class 将是这样的:
data class Item (@PrimaryKey(autoGenerate = true) var var1: Long?,
@ColumnInfo(name ="var1") var var2: Long);
从 Java 你可以像这样创建创建对象:
Item item=new Item(1L,2L);
long firstValue=item.getVar1();
long secondValue=item.getVar2();
如果你想在 kotlin 中创建实例,它将是这样的:
val item=Item(1L,2L);
val firstValue:Long?=item.var1;
val secondValue:Long?=item.var2;
我有一个 kotlin 数据 class,我正在尝试从 Java 方法调用它。
data class Item (
@PrimaryKey(autoGenerate = true) var var1: Long? ,
@ColumnInfo(name ="var1") var var2: Long){}
从 Java 开始,我正在尝试保存项目列表,因此我需要实例化数据 class。我不明白我该怎么做。
实例化 data class
与实例化 "normal" Kotlin class.
从您的 Java 代码中,您将其实例化为 Java class:
Item item = new Item(1L, 2L);
仅供参考,data class
是自动获取以下成员的 class
(参见 documentation here):
equals()
/hashCode()
对;toString()
形式 "MyClass(field1=value1, field2=value2)";componentN()
函数对应属性声明顺序;这对 destructuring declarations 很有用,例如:data class Item(val val1: Long, val val2: Long) fun main(args: Array<String>) { val item = Item(1L, 2L) val (first, second) = item println("$first, $second") }
这将打印:
1, 2
copy()
函数。
您的数据 class 将是这样的:
data class Item (@PrimaryKey(autoGenerate = true) var var1: Long?,
@ColumnInfo(name ="var1") var var2: Long);
从 Java 你可以像这样创建创建对象:
Item item=new Item(1L,2L);
long firstValue=item.getVar1();
long secondValue=item.getVar2();
如果你想在 kotlin 中创建实例,它将是这样的:
val item=Item(1L,2L);
val firstValue:Long?=item.var1;
val secondValue:Long?=item.var2;