2015-07-06 3 views
0

Я немного читал об общих методах, и я обнаружил, что он используется для устранения перегруженных методов.общие методы используются для устранения перегруженных методов

public static void main(String[] args) { 
    Integer arr[] = { 12, 55, 66, 54 }; 

    printArray(arr); 
} 

public static <T> void printArray(T arr[]) { 
    for (T a : arr) { 
     System.out.print(a.toString() + " "); 
    } 
    System.out.println(); 
} 

не зная ничего об общих методах, которые я использовал, чтобы сделать что-то вроде следующего:

public static void main(String[] args) { 
    Integer arr[] = { 12, 55, 66, 54 }; 

    printArray(arr); 
} 

public static void printArray(Object arr[]) { 
    for (Object a : arr) { 
     System.out.print(a.toString() + " "); 
    } 
    System.out.println(); 
} 

какова разница между этими двумя способами ...?

ответ

6

Для конкретного случая использования, о котором вы упоминали, нет никакой разницы, поскольку все объекты имеют метод toString(). Если вы хотите вернуть T или T[] или вам понадобится T для реализации какого-либо общего интерфейса или тому подобного, вам понадобится общий метод. (Тем не менее, дженерики обычно используются больше с коллекциями, чем с массивами.)

Смежные вопросы