【问题标题】:Creating a setter method for an enum为枚举创建 setter 方法
【发布时间】:2013-08-13 14:35:41
【问题描述】:

我需要创建一个设置对象枚举属性值的方法。这是我的代码:

public void setSpecialization(VehicleType specialization) {
    Specialization = specialization;
}

两个变量属于同一类型,我应该如何分配值?因为我不断在字段中获得null 值。

【问题讨论】:

  • 可能你在这里打错了,你正在做specialization = specialization。如果是这样,请尝试在 attribute 中使用 this 关键字,并将 specialization 参数分配给类的 specialization 字段,如下所示:this.specialization = specialization。如果这不是问题,请发布SSCCE 以重现您的问题。
  • 您显示的代码没有任何问题(除了以大写字母开头的字段名称)很可能问题出在您未显示的代码中。你能举一个重现问题的简单例子吗?
  • 显示使用整个类,尤其是成员声明
  • 如果类很大,那么不要显示全部内容,以免我们淹没在与您的问题无关的代码中。正如@LuiggiMendoza 建议的那样,更好的做法是让您创建一个sscce,这是一个可编译和可运行的小型程序,可以为我们重现您的问题。

标签: java enums setter


【解决方案1】:

这没有什么特别的,因为specialization 是enum 类型。它的工作方式与任何其他类型完全相同:

public class SomeClass {
    private VehicleType specialization;

    public void setSpecialization(VehicleType specialization) {
        this.specialization = specialization;
    }

    // ...
}

注意:在方法内部,this.specialization指的是成员变量; specialization 指的是参数变量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-18
    • 2021-12-13
    • 2017-10-30
    • 1970-01-01
    • 2010-09-09
    • 2015-04-29
    相关资源
    最近更新 更多