如果類型爲靜態方法的整數,則會出現編譯時錯誤。通用靜態方法類型
public static <T> int countGreaterThan(T[] anArray, T elem) {
int count = 0;
for (T e : anArray)
if (e > elem) // compiler error
++count;
return count;
}
然後我用Integer隨處替換T仍然沒問題。
public static <Integer> int countGreaterThan(Integer[] anArray, Integer elem) {
int count = 0;
for (Integer e : anArray)
if (e > elem) // compiler error
++count;
return count;
}
但是,一旦我改變改變整數爲不同類型像R編譯錯誤消失了。
public static <R> int countGreaterThan(Integer[] anArray, Integer elem) {
int count = 0;
for (Integer e : anArray)
if (e > elem) // no Compilation error
++count;
return count;
}
靜態方法類型對此>運算符的影響是什麼?
你想在這裏做什麼? – Blorgbeard
通過命名泛型類型'Integer',你可以映射'java.lang.Integer'。你爲什麼使用泛型? – 4castle
該方法簽名沒有意義 – QBrute