我想將我的一些方法重構爲一種基於方法參數將字符串值轉換爲int/float的方法。對於這件事情我已創建像下面的方法:如何將通用數據類型傳遞給方法以及如何創建使用它的propper方法?
private <T>Number setNumericValue(String value , T type)
{
value = value.trim();
if(isNumeric(value))
{
if (type instanceof Integer)
return Integer.parseInt(value);
if (type instanceof Float)
return Float.parseFloat(value);
}
return 0;
}
首先,我想知道的是我的方法正確嗎? 和調用這個方法我該如何使用它?我創建了這樣的事情但Java給我運行時錯誤
this.temperatureC = setNumericValue(temperatureC, Float);
的錯誤說:「無法施放浮動到T」如果你相應地改變你的方法來簽名(及實施
**你得到了什麼錯誤?** – SLaks
你不需要你自己的'isNumeric()'函數。 'parseInt()','parseFloat()',並且這樣會拋出一個'NumberFormatException',捕獲它返回一個默認值。 – millimoose