当前位置: 首页 > 知识库问答 >
问题:

构造函数中没有附加属性的Kotlin数据类

傅阿苏
2023-03-14

从Kotlin开始,想要创建一个数据类

data class Person(val Email: String, val firstName: String, val lastName: String)
public class Person{

     private String email;
     private String firstName;
     private String lastName;
     private String mood;

     public person (String email, String firstName, String lastName){
      this.email = email;
      this.firstName = firstName;
      this.lastName = lastName;
    } 

    public setMood(String mood){
     this.mood = mood;
    }
}

共有1个答案

燕寒
2023-03-14

您应该能够将其作为属性添加到Person。在Kotlin中,一个数据类仍然是一个类,它只是附带了一些额外的东西(toString、copy构造函数、hashcode/equals等)。您仍然可以定义所需的任何属性。

data class Person(val Email: String, val firstName: String, val lastName: String) {
    var mood: String? = null
}

在这种情况下,它是可空的,因为正如您所说的,您可能要到以后才知道情绪。

 类似资料:
  • 我正在将我的一些Java代码转换为Kotlin,我不太明白如何实例化Kotlin代码中定义的接口。作为一个例子,我有一个接口(用Java代码定义): 然后在我的Kotlin代码中,我进一步实例化了这个接口: 而且效果很好。然而,当我将MyInterface转换为Kotlin时: 当我尝试实例化接口MyListener时,我得到了一条错误消息:-尽管在我看来除了语法之外没有什么变化。我是否误解了Ko

  • 我创建了这个扩展方法,它从一个KClass获取所有属性 扩展方法 示例用法 结果 val公司。演示。富。酒吧:科特林。内景 val公司。演示。富。巴兹:科特林。一串 VARcom.demo.Foo.boo:kotlin。字符串? 如何修改此扩展方法以仅返回在主构造函数中声明的属性? 预期成果 val公司。演示。富。酒吧:科特林。内景

  • 以下作品 而这不是(未解决的引用:tabCount) 我是Kotlin的新手,只是不明白为什么不能在类本身中使用val属性。有人能解释一下吗?谢谢

  • 我想做一个简单的POJO(POKO?)在Kotlin中使用一个默认的空构造函数和一个带有参数的辅助构造函数创建一个类,该类提供属性 这并没有给我和属性: 这为我提供了属性,但它们在实例化后没有设置: 这给了我一个编译错误,说“不允许在二级构造函数参数上使用'var'”: 那么,这是怎么做到的?我如何拥有一个默认构造函数和一个带有参数和属性的二级构造函数?

  • 问题内容: 以下是两种方法: 具有所有类属性的构造函数 优点:我必须输入确切数量的参数类型,所以如果出现错误,编译器会警告我(顺便说一句,有什么方法可以防止错误地在参数列表中切换两个Integer的问题?) 缺点:如果我有很多属性,则实例化行可能会变得很长,并且可能跨越两行或更多行 setter和默认的空构造函数 优点:我可以清楚地看到自己的设置,因此,如果我做错了什么,我可以在键入时立即查明它(

  • 无论我用什么方法尝试,无论是主构造函数还是次构造函数,我都不知道如何在kotlin中声明一个带有超类和构造函数的新类。 这是我最想做的,但它给出了一个错误,期望成员声明。 这是我认为主要构造函数的外观,但它给出了相同的错误。在Internet上搜索没有帮助,我只能找到第二个示例。 那么,用一个超类和它的一个构造函数创建一个类的所有有效方法是什么呢?