[英]Primitive variable type in compile time
不確定我是否正確措辭。 如果您需要更多信息,請與我們聯系。 我們需要根據系統環境變量確定變量的類型。
所以,假設我們有以下課程
class Test
{
DUMMY_TYPE testVariable;
}
DUMMY_TYPE基於系統變量確定。 因此,當Java編譯時,是否可以讓Java使用System Environment變量來確定編譯類型的類型?
另外,是否可以在Eclipse上以某種方式設置它,Eclipse將繼續在IDE上向我顯示DUMMY_TYPE,無論我在何處使用它,但是在編譯和構建它時,可以使用基於環境變量的正確類型替換DUMMY_TYPE?
我有個主意。
testVariable
Object
類型的testVariable
(或擴展Object
的DummyType
類)。 然后,您可以根據從系統變量中讀取的內容,使用原始包裝類加載包含所需數據的變量。
所以:
public class Test {
Object testVariable;
{
String whichType = null;
//Logic to read your system variable from wherever and store it in whichType
if(whichType.equals("int")) {
testVariable = new Integer(intVal);
}
else if(whichType.equals("double")) {
testVariable = new Double(doubleVal);
}
//etc.
}
當然,這不是Java“搞清楚”它在編譯時的類型是你想要的,必然(並且在創建Test
對象時,分配將在運行時進行),但它似乎是合理的框架替代。
您也可以在初始化時自然地設置testVariable
的值。
或者,您可以使用這樣的方法接受輸入作為String
(從系統變量中讀取)並將其返回到基本類型的相應包裝類中:
public Object getPrimitiveValue(String type, String value) {
if(type.equals("int")) {
return new Integer(Integer.parseInt(value));
}
else if(type.equals("double")) {
return new Double(Double.parseDouble(value));
}
//etc.
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.