我無法在運行時創建對象的名稱。我的發言是:如何在運行時創建變量名?
Map<String,String> objectName+""+lineNumber = new HashMap<String,String>();
它給我編譯時錯誤。我想在運行時創建HashMap
對象,具體取決於行號。
我無法在運行時創建對象的名稱。我的發言是:如何在運行時創建變量名?
Map<String,String> objectName+""+lineNumber = new HashMap<String,String>();
它給我編譯時錯誤。我想在運行時創建HashMap
對象,具體取決於行號。
Java不是解釋性的,而是一種編譯語言。所以編譯器不知道如何處理這個。這樣的事情在腳本語言中可能是有意義的。
如果你需要一個「變量」也許類似下面的結構可能是有意義的自定義名稱:
Map<String,Map<String,String>> varMap = new HashMap<String,Map<String,String>>();
varMap.put(objectName+" "+lineNumber, new HashMap<String, String>());
使動態對象名稱爲「無使用」。
首先,不可能爲動態名稱提供參考。更大的問題是你爲什麼想這樣做?
如果只是爲了學習和做實驗,我會建議你應該遵循適當的練習。
但是,如果你正試圖達到一些項目的要求,請。解釋要求。還有其他方法可以實現這一點。
您不能直接在Java中做到這一點(沒有重大的招數)
一下就可以了(也許應該)做的事:
把你的地圖在另一個地圖它具有「變量」名關鍵。
如果你真的想這樣做,你必須做代碼生成。對於這一次你有多種選擇:
生成Java源代碼和編譯
生成Java字節碼上飛。你可能想看看這個列表:http://java-source.net/open-source/bytecode-libraries圖書館可用。
你怎麼做呢?向我們顯示您的代碼 –
您可以改爲創建一個數組。我不認爲你正在努力實現的是可能的! –
這是不可能的。你能解釋一下你的問題的背景 - 你想通過這樣做來達到什麼目的?另外,對象沒有名稱。變量有名字。 – Jesper