353得票14回答
在Kotlin中扩展数据类

数据类似乎是Java中老式POJO的替代品。这些类允许继承是非常可预期的,但我却找不到方便的方法来扩展数据类。我需要像这样的东西:open data class Resource (var id: Long = 0, var location: String = "") data class ...

149得票3回答
使用GSON从Json中创建Kotlin数据类

我有一个Java POJO类,像这样: class Topic { @SerializedName("id") long id; @SerializedName("name") String name; } 我有一个 Kotlin 数据类,像这样: d...

80得票5回答
Kotlin中数据类的Equals方法

我有以下数据类:data class PuzzleBoard(val board: IntArray) { val dimension by lazy { Math.sqrt(board.size.toDouble()).toInt() } } 我读到 Kotlin 的数据类会自动获得...

78得票2回答
如何使用toString扩展数据类

我已创建了一个数据类data class Something ( val a : String, val b : Object, val c : String ) 后面在我程序中稍后, 我需要这个数据类的字符表示,所以我尝试扩展toString方法。override f...

78得票12回答
Kotlin数据类的复制方法未深度复制所有成员。

有人能解释一下Kotlin数据类的copy方法是如何工作的吗?似乎对于某些成员,它并没有创建(深)拷贝,而是仍然引用原始对象。fun test() { val bar = Bar(0) val foo = Foo(5, bar, mutableListOf(1, 2, 3)) ...

72得票2回答
Kotlin数据类+Bean验证JSR 303

我正在尝试将Kotlin与Spring-Data-Rest项目中的JSR 303验证结合使用。以下是数据类声明:@Entity data class User( @Id @GeneratedValue(strategy = javax.persistence.Generati...

64得票1回答
在 Kotlin 中,从密封类扩展数据类。

我有一组数据类,它们共享一些公共字段。所以理想情况下,我希望在一个超类型中声明它们(比如在这个例子中的Message),并且如果需要访问这些公共字段(比如messageId),就可以编写操作超类型的函数。fun operate(m: Message) { use(m.messageId) ...

48得票10回答
Kotlin数据类中的属性包含/排除

假设我只想让生成的equals和hashCode实现中包含一个或两个字段(或者排除一个或多个字段)。 对于一个简单的类,例如:data class Person(val id: String, val name: String) Groovy有这个特性:@EqualsAndHashCode(i...

47得票4回答
Kotlin数据类:如果我在编译时不知道属性的名称,如何读取属性的值?

如何在运行时仅知道属性名的情况下读取 Kotlin 数据类实例中属性的值?

41得票4回答
Proguard - 不要混淆 Kotlin 数据类

在我的项目中,我使用 AutoValue 来处理旧的模型类。我开始使用 Kotlin,并希望在我的Data层中使用数据类代替 AutoValue。我想要禁用所有Data类的混淆,但保留包中其他类的混淆。 有什么方法可以做到这一点吗? 我希望在我的Proguard文件中有类似以下的设置:-k...