14得票2回答
有没有办法在数据类构造时转换属性值?

创建数据类时,我经常需要转换其中的属性,通常是为了标准化或创建防御性副本。例如,在这里,我希望productCode始终为小写: 创建数据类时,我经常需要转换其中的属性,通常是为了标准化或创建防御性副本。例如,在这里,我希望productCode始终为小写:data class Produc...

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

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

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

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

11得票3回答
如何使用Gson反序列化继承自Kotlin数据类的对象

在一个安卓应用中,我需要将Json数据反序列化为Kotlin数据类,并且只有单一的抽象层级。但是我不知道如何在构造函数中放置正确的属性。 作为一个简单版本,假设我有一个形状(Shape):abstract class Shape(open val x: Int, open val y: In...

31得票4回答
有没有一种方法可以在Kotlin中要求泛型类型为数据类?

以下内容无法正常工作,但希望能帮助您理解我的意思: class Example<T : DataClass> 如果您想知道我想要达到的目标是什么,这是我所想的一个例子: class Repository<T> where T : Entity, // Entit...

11得票1回答
如何在 Kotlin 上测试数据类?

我在我的 Kotlin 项目中使用数据类来处理 JSON Rest 响应。 示例:data class WeatherResponse(val city: String, val temperature: Double, val humidity: Double) 为了满足代码覆盖率的要求,我...

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

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

11得票2回答
Kotlin数据类和可空类型

我是 Kotlin 的新手,不明白为什么编译器会抱怨这段代码:data class Test(var data : String = "data") fun test(){ var test: Test? = Test("") var size = test?.data.length...

13得票1回答
在 Kotlin 中是否可以嵌套使用数据类?

我正在尝试实现类似于以下C语言数据类型的定义: struct A { int b; struct { int d; } c; }; 根据 Dmitry Jemerov 的说法,这是可能的,但他没有提供任何代码示例。你可以将它简单地嵌套在另一个类中,嵌套类可以是数据...

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

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