下面这种定义怎么回事? public HashSet(Collection<? extends E> c) public ClassA<E> 这种Java类定义我看过,是模板 public HashSet(Collection<? extends E> c) 中的就不清楚了,怎么里面还有问号的?有这种定义? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是泛形,在java1.5以后采用泛形是对类型的一个准确表示,省去了很多不必要的转换, public HashSet(Collection<? extends E> c) 就是里面的参数可以是实现了Collection接口的任何实现类的对象或者引用,建议lz看看这篇文章,你就会明白了http://blog.csdn.net/icecloud/archive/2004/03/01/7801.aspx 嗯,我也在我的blog里面写了点这个玩意,有兴趣可以去看看 这是JDK1.5的新特性:泛形首先这个HashSet的构造方法接收一个实现Collection接口的所有子类。我们看例子: List<JPanel> list=new ArrayList<JPanel>(); list.add(new BallPanel()); HashSet<JPanel> set=new HashSet<JPanel>(list);List接口继函自Collection,那个JPanel就相当于E,而BallPanel(继函自JPanel)就相当于那个?只要这个?是E的子类就可以放进Set中。 继承中父类属性修饰符该用什么? 关于JAVA 如何用图片做边框 拷贝的XML文件后出现乱码,如何解决? null怎么表示。 Applet中和JApplet中createImage(int, int)的区别 怎样使窗口在跳出来时直接跳到屏幕中央 Panel能是透明的么? 请问有支持access的jdbc驱动吗? 如何将字符串转换成整型!------求救! [求助]为什么HttpServlet中的方法基本都是protected? java的事件处理机制,GUI主线程与多线程,虚似机是怎么样看待的??名位大虾,能不能诠释他们有什么不同啊,小菜在这里求教了
首先这个HashSet的构造方法接收一个实现Collection接口的所有子类。我们看例子:
List<JPanel> list=new ArrayList<JPanel>();
list.add(new BallPanel());
HashSet<JPanel> set=new HashSet<JPanel>(list);
List接口继函自Collection,那个JPanel就相当于E,而BallPanel(继函自JPanel)就相当于那个?
只要这个?是E的子类就可以放进Set中。