java - 数据类 Kotlin 到 Java 类

标签 java android kotlin data-class

我有一个 kotlin 数据类,我正在尝试从 Java 方法调用它。

data class Item  (
                @PrimaryKey(autoGenerate = true) var var1: Long? ,
                @ColumnInfo(name ="var1") var var2: Long){}

在 Java 中,我试图保存一个 Item 列表,因此我需要实例化 Data 类。我不明白我该怎么做。

最佳答案

实例化数据类与实例化“普通”Kotlin 类没有区别。

从您的 Java 代码中,您将它实例化,就好像它是一个 Java 类一样:

Item item = new Item(1L, 2L); 

仅供引用,数据类是一个自动获取以下成员的(参见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() 函数。

关于java - 数据类 Kotlin 到 Java 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49111551/

相关文章:

java - 使用 Date 类将给定日期的字符串与当前日期进行比较时出现 Null 对象引用异常

java - 在没有 gps 的情况下获取天气信息

java - 为什么 Epoxy 不生成模型类?

random - 无法创建抽象类的实例(随机)

java - 删除 IntelliJ 中的方法行

Java:HtmlUnit 效率 relacing PHP CURL?

java - 希罗+吉斯 : Why IniRealm is instantiated four times?

java - 在 mbedtls Diffie-Hellman 中使用来自 Java 的 DER key

android - 在模拟器中全屏运行应用程序时出现问题

kotlin - 如何在 Kotlin 中检查类属性是否为 List 类型