La différence est qu'avec les méthodes génériques, je n'ai pas besoin de lancer et je reçois une erreur de compilation quand je fais mal :
public class App {
public static void main(String[] args) {
String s = process("vv");
String b = process(new Object()); // Compilation error
}
public static <T> T process(T val) {
return val;
}
}
En utilisant l'objet, j'ai toujours besoin de lancer et je ne reçois aucune erreur quand je fais mal :
public class App {
public static void main(String[] args) {
String s = (String)process("vv");
String b = (String)process(new Object());
}
public static Object process(Object val) {
return val;
}
}