2012-10-12 41 views

回答

5

引用名稱不過是變量的名稱。它只是指向一個對象的參考。

你不能在運行時得到它。主要是因爲可能有許多引用之間的衝突,可能是指向該字符串對象或任何對象的問題。

它想: -

String str = "Rohit"; 
String abc = str; 

現在,你有兩個引用strabc指向相同的文字Rohit

所以,如果你想在運行時參考。你會得到哪個參考?這就是爲什麼它不被允許在Java中。甚至沒有通過Reflection

但是,如果你願意,你可以手動維護你所有的參考名稱。但那將是一件乏味的工作。但我有一個問題 - >Why on earth would you need that?

+2

在Java編譯過程中很早就將標識符字符串轉換爲數值。因此,在編譯過程中會丟失與給定變量關聯的實際「名稱」。編譯器不關心它所調用的內容,而只關心它被存儲的地方。 – Will

+0

@會。確切地說,這更有意義。 –

2

有一個很好的機會,如果你問這個問題,你做錯了什麼。如果沒有關於你實際做什麼的更多信息,簡短的答案是「不,這是不可能的」,但是,如果由於某種原因,你確實需要運行時的變量名,那麼最好的辦法就是使用hashmap您可以在這裏查看密鑰的標籤名稱以及其中保存的值。

相關問題