在下面这个例子中,通配符用于向API的用户隐藏类型信息。在内部,Set被存储为CustomerImpl。而API的用户只知道他们正在获取一个Set,从中可以读取Customer。
此处通配符是必需的,因为无法从Set<CustomerImpl>向Set<Customer>赋值:
public class CustomerFactory {
private Set<CustomerImpl> _customers;
public Set<? extends Customer> getCustomers() {
return _customers;
}
}
****************************************************上面的材料,无论从文字或从代码,我都无法理解,有哪位高手能解释一下它想表达的意思?谢谢
此处通配符是必需的,因为无法从Set<CustomerImpl>向Set<Customer>赋值:
public class CustomerFactory {
private Set<CustomerImpl> _customers;
public Set<? extends Customer> getCustomers() {
return _customers;
}
}
****************************************************上面的材料,无论从文字或从代码,我都无法理解,有哪位高手能解释一下它想表达的意思?谢谢
解决方案 »
- 怎么实现山寨QQ来消息后的头像晃动
- 关于垃圾回收求帮助
- (新手)大家帮我看看我的资源管理器啊,实在是弄不出来了。
- 如何删除文件中的特定元素对象???
- 命令提示符下不能运行程序
- applet问题?在线 帮一下吗?
- 怎样在java中得到一个汉字的ASCii码
- 可不可以将Applet编译成本地代码?
- 请问怎样获取一个表中有多少个字段,以及每个字段的字段类型,字段长度等信息?
- JNative调用window下的dll
- JAVA中string.repalce()和string.replaceAll()有什么区别?
- 如何在java中模拟执行windows命令提示符下的命令,比如模拟在命令提示符下执行ant
写成 private Customer _customers;也可以呀,写成Set的形式有何好处?
2 我发现1.5中,一个类可以继承一个接口的,这是什么回事呢?在新的语法中,继承接口跟实现接口有区别吗?
可能在别的collections可以啊
泛型只是提供一种通用的解决方法
class CustomerImpl extends Customer{}这样就报错了