你可以这样定义
callFriend:
public <T extends Animal> T callFriend(String name, Class<T> type) { return type.cast(friends.get(name));}
然后这样称呼它:
jerry.callFriend("spike", Dog.class).bark();jerry.callFriend("quacker", Duck.class).quack();
此代码的好处是不会生成任何编译器警告。当然,这实际上只是前代产品的更新版本,不会增加任何额外的安全性。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)