簡體   English   中英

數據類Kotlin到Java類

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM