我是新來的學生學習的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