public enum EmailSendingOption {
SAMPLEMAIL, BULKUSERS, ALLUSERS;
private int emailSendingOptionType;
private EmailSendingOption(String optionType) {
int value = Integer.parseInt(optionType.trim());
emailSendingOptionType = value;
}
public int getEmailSendingOption() {
return emailSendingOptionType;
}
}
感谢。
答案 0 :(得分:3)
您已经定义了一个构造函数,但是您没有为每个枚举提供参数。
看起来您的构造函数也应该采用整数。保存每次都必须解析一个字符串。它也更安全。
e.g。
SAMPLEMAIL(10)
等
使用您的构造函数:
private int emailSendingOptionType;
private EmailSendingOption(int optionType) {
this.emailSendingOptionType = optionType;
}
答案 1 :(得分:1)
你需要这样做:
public enum EmailSendingOption {
SAMPLEMAIL("1"), BULKUSERS("2"), ALLUSERS("3");
private int emailSendingOptionType;
private EmailSendingOption(String optionType) {
int value = Integer.parseInt(optionType.trim());
emailSendingOptionType = value;
}
public int getEmailSendingOption() {
return emailSendingOptionType;
}
}
答案 2 :(得分:0)
因为您要为Enum
EmailSendingOption(String optionType)
您需要为每个枚举常量添加这些参数。
答案 3 :(得分:0)
将其更改为:
public enum EmailSendingOption
{
SAMPLEMAIL("String"), BULKUSERS("String"), ALLUSERS("String");
...
}
您根据需要将构造函数定义为String作为参数。 SAMPLEMAIL这是一个静态对象 EmailSendingOption。
答案 4 :(得分:0)
enum
不是Java中的整数,它们是对象。没有理由将一个整数作为String传递给构造函数,因此可以将其解析为整数。如果你想要一个整数使用整数。
public enum EmailSendingOption {
SAMPLEMAIL(1), BULKUSERS(2), ALLUSERS(101);
private final int emailSendingOptionType;
private EmailSendingOption(int emailSendingOptionType) {
this.emailSendingOptionType = emailSendingOptionType;
}
public int getEmailSendingOption() {
return emailSendingOptionType;
}
}