首先,对不起我的英语...
我正在做一个枚举类型,但我做不到,因为我正在使用 tipo(String nombre, short valor)
为什么我必须使用 tipo(String nombre, int valor)
?使用 int 而不是 short?
public enum Tipo {
// The constructor (String, int) is undefined
DAT ("DAT", -2);
private String nombre;
private short valor;
tipo(String nombre, short valor){
this.nombre = nombre;
this.valor = valor;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public short getValor() {
return valor;
}
public void setValor(short valor) {
this.valor = valor;
}
}
最佳答案
试试 DAT ("DAT", (short)-2);
您正在将 int
传递给采用 short
的构造函数。 Java 不会自动将 int
转换为 short
,因为可能会丢失数据。
对此可以找到很好的解释 here - primitive type short casting in java
关于java - 为什么我不能用短构造函数参数声明枚举类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14894353/