这两个返回相同值的方法有什么区别?
接口:
public interface Animal {
boolean checkNull();
}
主要:
Map<String, Animal> strategyMap = new HashMap<>();
public static boolean checkIfObjectIsNull(Animal animal, Map<String, Animal> strategyMap){
return strategyMap.get(animal.getClass().getSimpleName()).checkNull();
}
public static <T extends Animal> boolean checkIfObjectIsNullGeneric(T animal, Map<String, Animal> strategyMap) {
return strategyMap.get(animal.getClass().getSimpleName()).checkNull();
}
答案 0 :(得分:0)
这两种方法之间没有区别。 Java将T
视为Animal
。您可以使这两种方法具有相同的名称。当您调用其中之一时,您会发现这两种方法会相互冲突。