java里的collection<E>的问题?
请问collection<E>里的E是"元素"的意思吧!可是为什么要这样呢?为什么不是"Object"呢?我遇到一个问题:是这样的,我在我的类里定义了一个方法,内容是这样...
请问collection<E>里的E是"元素"的意思吧!
可是为什么要这样呢?
为什么不是"Object"呢?
我遇到一个问题:
是这样的,我在我的类里定义了一个方法,内容是这样的:
public static Collection fill(Collection c){
c.add("cat");
c.add("dog");
return c;
}
可是当编译时编译器提示这样的警告:
MyCollection.java:9: 警告:[unchecked] 对作为普通类型 java.util.Collection 的成
员的 add(E) 的调用未经检查
add(E) 与我自己写的 add(Objcet) 有什么不同?
我现在对util包里的<T><E>好像还有别的,我一点也不明白这是什么意思?
在实际编程时有什么用?
望高手指点!谢谢 展开
可是为什么要这样呢?
为什么不是"Object"呢?
我遇到一个问题:
是这样的,我在我的类里定义了一个方法,内容是这样的:
public static Collection fill(Collection c){
c.add("cat");
c.add("dog");
return c;
}
可是当编译时编译器提示这样的警告:
MyCollection.java:9: 警告:[unchecked] 对作为普通类型 java.util.Collection 的成
员的 add(E) 的调用未经检查
add(E) 与我自己写的 add(Objcet) 有什么不同?
我现在对util包里的<T><E>好像还有别的,我一点也不明白这是什么意思?
在实际编程时有什么用?
望高手指点!谢谢 展开
1个回答
展开全部
collection<E>里的E是"元素"的意思。
但不要忘了object也是一种类型,用object可以达到令容器可以存储任何类型的值 但是它E表示的是任何的类型 不能只局限于object 本身 ,有的时候我们要求我们的元素保留自己的特性 ,一旦他被转换成 object 它的特性就失去了,除非你再将它转换成它原来的类型才可以。
public static Collection fill(Collection<String> c){
c.add("cat");
c.add("dog");
return c;
}
这样就可以了,Collection<String>中的尖括号中代表的是你的容器中所存储的元素的类型。
但不要忘了object也是一种类型,用object可以达到令容器可以存储任何类型的值 但是它E表示的是任何的类型 不能只局限于object 本身 ,有的时候我们要求我们的元素保留自己的特性 ,一旦他被转换成 object 它的特性就失去了,除非你再将它转换成它原来的类型才可以。
public static Collection fill(Collection<String> c){
c.add("cat");
c.add("dog");
return c;
}
这样就可以了,Collection<String>中的尖括号中代表的是你的容器中所存储的元素的类型。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询