繁体   English   中英

如何从Kotlin数据类创建对象的Java实例,但不包括所有字段?

[英]How to create a Java instance of the object from Kotlin data class but don't include all fields?

我有以下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类中,我需要从对象创建中忽略此字段。

Java不支持此功能,但是您可以做一个简单的技巧。

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

public YourClass(String key, String operation, String value, bool search) 
{
  this (key, operation, value, null, search); //null for the groups
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM