[英]How do I instantiate a BigInteger in a java static method like this?
我不明白自己在做什么錯,因為出現錯誤:“無法實例化BigInteger類型”
public static <BigInteger> List<BigInteger> convertIntegerListToStringList(List<String> existingList) {
ArrayList<BigInteger> newList = new ArrayList<BigInteger>();
for(String item : existingList) {
newList.add(new BigInteger(item));
}
return newList
}
破壞代碼的部分是公共靜態<BigInteger>
類型參數...但是我不知道為什么。 當我刪除此類型的參數時,編譯錯誤就消失了。
從方法簽名中刪除孤獨的<BigInteger>
。 該語法用於聲明類型變量,在您的情況下這不是必需的。 如所寫,您正在聲明一個名為BigInteger
的“占位符”,它代表某種未知類型。 在該方法中, BigInteger
引用該未知類型(未知,無法實例化),而不是按您的意圖引用java.math.BigInteger
。
同樣,您應該重新訪問方法名稱:您的方法執行名稱所建議的相反操作,即,它將字符串列表轉換為BigInteger列表,而不是相反。
您的方法簽名語法錯誤。 您應該刪除<BigInteger>
以使函數返回類型為List<BigInteger>
對象
public static List<BigInteger> convertIntegerListToStringList(List<String> existingList)
{
ArrayList<BigInteger> newList = new ArrayList<BigInteger>();
for(String item : existingList) {
newList.add(new BigInteger(item));
}
return newList;
}
您還忘記了返回變量名稱后的分號。
public static {ReturnType} {MethodName} ({Arguments})
這就是方法簽名應該是的方式。 無法理解為什么靜態方法簽名后出現<BigInteger>。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.