parameter - return class generic java
Pasando int[][] como parĂ¡metro genĂ©rico (2)
public static <T> void func1(T[][] arr) {
...
}
public static <T> void func2(T[] arr) {
...
}
Estoy tratando de pasar una matriz bidimensional, int[][] arr .
No puedo usar func1(arr) , pero puedo usar func2(arr)
¿Puede alguien explicarme cómo funciona esto?
Si usas Integer lugar de int , deberías poder:
- llamar
func1conInteger[][] arr - llamar a
func2conInteger[] arroInteger[][] arr
T[] representa una matriz de algún objeto genérico. Cualquier tipo de matriz (incluido int[] ) es un objeto. Por lo tanto, int[][] es una T[] válida cuando T = int[] .
Sin embargo, como int no es un objeto, int[][] no es una T[][] válida T[][] .