您好我在创建我的数据库表的bean,但是我有这个小问题我无法将ENUM值传递给构造函数,我解决了它但是当我尝试设置值时它说错误; 这是我的代码
public class HorariosBean {
private Integer idHorario;
private String dia;
private Integer hora;
private enum estado {DISPONIBLE, NODISPONIBLE};
private Integer depasId;
// this is the first thing I fix for pass the enum
public HorariosBean(Integer idHorario, String dia, Integer hora, estado estate, Integer depasId) {
this.idHorario = idHorario;
this.dia = dia;
this.hora= hora;
this.estado = estate; //error is here says "estado cannot be resolved or is not a field"
this.depasId = depasId;
}
}
我无法改变类型,因为我有其他带枚举的表,这意味着我应该改变一切
答案 0 :(得分:2)
private enum estado {DISPONIBLE, NODISPONIBLE};
表示您声明了enum
,而不是变量。
所以添加新行:
private estado yourEnum;
并更新构造函数:
this.yourEnum = estate;
答案 1 :(得分:0)
另一个答案是正确的,但还有另一个问题。
你不能使用声明为 private 的枚举。您会看到,您希望将该枚举的实例传递给该类的构造函数。
但是没有其他类能够使用该枚举,例如在 new HorariosBean 语句中,因为枚举是私有的。
超越:不要欺骗自己相信经常犯错误是解决问题的一个很好的理由。换句话说:如果你反复犯同样的错误,那么你必须触摸所有代码。因此,避免代码重复非常重要。