我創建了一個沒有。的常量變量,超過1000個,那些常量是唯一的整數。我可以打印出變量的名稱嗎?
public static final FOO 335343
public static final BAR 234234
public static final BEZ 122424
....
....
....
有沒有辦法打印出FOO,BAR和BEZ,這是Java中名稱的變量? 我不熟悉java反射。我不知道這是否有幫助。
if (FOO == 335343)
---> output "FOO"
if (BAR == 234234)
---> ouptut "BAR"
....
其實是問這背後的問題是,我想寫登錄到文件
說
System.out.println("This time the output is " + FOO);
和實際產量
This time the output is 335323
我想知道哪個變量來自335323. 除了放置這些變量之外,還有其他方法嗎?可靠的和它的相關常量變成hashMap?
感謝
爲什麼?這樣做的目標是什麼?爲什麼變量名在運行代碼中更重要?或者你真的想要使用枚舉嗎?我強烈懷疑目前問題的最佳解決方案是以完全不同的方式解決問題。所以有鑑於此,或許你最好告訴我們你試圖解決什麼問題,而不是你如何解決它。 [通過反射訪問Java靜態最終的ivar值]的 –
可能重複(http://stackoverflow.com/questions/850148/accessing-java-static-final-ivar-value-through-reflection) –
@Kit:請參閱編輯(標記爲編輯1)在我的答案下面。 –