1

我有以下 Kotlin 数据类:

data class Filter @JvmOverloads constructor(
        val key: String? = null,
        val operation: String? = null,
        val value: String? = null,
        val group: String? = null,
        val searchInTranslations: Boolean? = null)

我在 Java 代码中创建了这个类的一个实例。但我想创建一个包含除字段之外的所有字段的实例group。我怎样才能在Java中做到这一点?

我无法为其分配默认值,group因为在某些 Java 类中我确实为该字段分配了一个值,在其他 Java 类中我需要从对象创建中省略该字段。

4

1 回答 1

2

Java 不支持这一点,但您可以制作一个简单的技巧。

生成两个构造函数,一个带有可选字段group,一个没有它。因此,从不需要为该字段分配值的类中,只需调用第二个构造函数:

public YourClass(String key, String operation, String value, bool search) 
{
  this (key, operation, value, null, search); //null for the groups
}
于 2019-01-10T09:05:17.483 回答