Я пытаюсь определить универсальный метод, который может печатать массив типа объекта. Я написал следующий код:
class ArrayPrinter
{
public <T extends Object[]> void printArray(T t) {
for(Object o: t) {
System.out.println(o);
}
}
}
public class javaGenerics {
public static void main(String args[]) {
ArrayPrinter myArrayPrinter = new ArrayPrinter();
Integer[] intArray = {1, 2, 3};
String[] stringArray = {"Hello", "World"};
myArrayPrinter.printArray(intArray);
myArrayPrinter.printArray(stringArray);
}
}
Но он не работает и выдает следующую ошибку:
javaGenerics.java:7: error: unexpected type
public <T extends Object[]> void printArray(T t) {
^
required: class
found: Object[]
1 error
Я могу по ошибке понять, что я предоставляю имя класса. Но я не знаю, каким будет имя класса для массива объектов.