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
func1
conInteger[][] arr
- llamar a
func2
conInteger[] arr
oInteger[][] 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[][]
.