我正在尝试使用枚举类代替接口(interface),并在其中声明常量。
实际:
public interface MyConstants {
public static final String MY_DATE_FORMAT ="mm/dd/yy";
public static final int BATCH_SIZE=500;
}
我正在尝试以下方式。
public enum MyConstants {
MY_DATE_FORMAT("sdes");
BATCH_SIZE(3);
MyConstants(String ds){
}
MyConstants(int st){
}
}
但是我在“BATCH_SIZE(3);
”处遇到语法错误。请帮助我如何做到这一点。
最佳答案
使用常量接口(interface)是一种反设计模式,应该避免。
3 是一个 int
,构造函数参数需要一个 String
。而是传入 Integer.toString(3)
。为什么不使用带有私有(private)构造函数的最终类?
此外,如前所述,您必须使用 ,
分隔枚举,然后通过在末尾添加 ;
来指定您已完成声明枚举。
关于java - java中如何在一个枚举类中声明不同类型的常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26533940/