[英]Data class Kotlin to Java Class
我有一個kotlin數據類,正在嘗試從Java方法調用它。
data class Item (
@PrimaryKey(autoGenerate = true) var var1: Long? ,
@ColumnInfo(name ="var1") var var2: Long){}
從Java,我試圖保存Item的列表,所以我需要實例化Data類。 我不知道該怎么做。
實例化data class
與實例化“普通” Kotlin類沒有什么不同。
從Java代碼中,將其實例化為好像是Java類:
Item item = new Item(1L, 2L);
僅供參考,一個data class
是一class
是自動獲得以下成員(見這里的文檔 ):
equals()
/ hashCode()
對; toString()
的形式為“ MyClass(field1 = value1,field2 = value2)”; 與屬性相對應的componentN()
函數的聲明順序 ; 這對於銷毀聲明非常有用,例如:
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()
函數。
您的數據類將如下所示:
data class Item (@PrimaryKey(autoGenerate = true) var var1: Long?,
@ColumnInfo(name ="var1") var var2: Long);
在Java中,您可以創建create對象,如下所示:
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;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.