この質問のフォローアップとしてDog
、適切な部屋にを追加する単一のメソッドを作成することは可能ですか?Animal
(この例では、部屋または部屋のいずれかを受け入れますDog
。)または、次のように2つの異なるメソッドを作成する必要がありますか?(型消去のためにオーバーロードに頼ることさえできません)。
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());
}
}