作为这个问题的后续,是否有可能编写一个方法来增加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());
}
}
Run Code Online (Sandbox Code Playgroud)