作为这个问题的后续,是否可以编写一个将 a 添加Dog
到合适房间的方法?(在这个例子中,它会接受一个Animal
房间或一个Dog
房间。)或者我是否被迫编写如下两种不同的方法?(由于类型擦除,我什至不能依赖重载)。
public class Rooms {
interface Animal {}
class Dog implements Animal {}
class Room<T> {
void add(T t) {}
}
void addDogToAnimalRoom(Room<Animal> room) {
room.add(new Dog());
}
void addDogToDogRoom(Room<Dog> room) {
room.add(new Dog());
}
}