我是新来的学生学习的Java基础知识及其Java的枚举:一个内有多个字符串枚举
我的目标是创建一个包含各种类别,如电子邮件,用户名,密码,MaterialType一个枚举等 而且我想那一个范畴之内我可以声明不同字符串和我的示例代码如下:
public enum MyEnums {
Usernames
{
public String toString()
{
return "This is a GmailUsername";
}
/*public String toString()
{
return "This is a GalleryComment";
}*/
},
Password
{
public String toString()
{
return "This is a public password";
}
/* public String GmailPassword()
{
return "This is a Gmail Password";
} */
},
Emails
{
public String toString()
{
return "This is a public contact email address";
}
/* public String EmailAccount()
{
return "This is a public Email Account address";
} */
},
PhoneNumbers
{
public String toString()
{
return "This is Phonenumber";
}
/* public String Phone()
{
return "This is a phone number";
}*/
}
}
和我所说的代码
public static void main (String args[])
{
System.out.println(MyEnums.Emails);
System.out.println(MyEnums.Usernames);
System.out.println(MyEnums.PhoneNumbers);
System.out.println(MyEnums.Password);
}
我的问题是为什么在使用第二个字符串类型函数时它给出了错误,例如在GmailPassword()的密码类别中为什么它不起作用。
是否有任何其他的方式来声明枚举多个字符串类别明智地喜欢
public Enum myEnum{
Category1
{
"String 1","String2",......."String N"
}
.......
.......
.......
.......
CategoryN
{
"String 1","String2",......."String N"
}
我想你应该创建一个字符串的通用接口和实施,对于每一个枚举值。 – 2014-09-12 11:38:33
您正在为每个'enum'常量创建私有的匿名内部类。只有基类“MyEnum”中声明的方法可以从外部访问。 – Holger 2014-09-12 11:52:05
@Holger爵士请验证公共枚举MyEnum { 公共字符串类别1(字符串或多个) { 开关(S) 情况下的 '删除': “这是一个字符串1”; 情况下,“更新”: “这是一个更新” 案“错误”: “你有验证错误” }} 和 可以通过 调用一个String =“删除” 的System.out.println(MyEnum .Category1(S)); – 2014-09-12 12:03:03