50,523
社区成员
发帖
与我相关
我的任务
分享
public void setMethod(List<Object> data);
public void setMethod(List<? extends Object> data);
public List<? extends Object> getMethod();
public class A{
//此处只能定义类型是?extends Object,否则不能直接赋值,只能进行二次拷贝
private List<? extends Object> mData;
public A(List<? extends Object> data){
mData=data;
}
//此处只能返回类型是?extends Object,不能直接返回Object或者对应的那个?类型,否则编译出错
public List<? extends Object> getData(){
//List<Object> objs=new ArrayLIst<Object>();
//for(Object o:mData){
// objs.add(o);
//}
//reutrn objs;这种情况下才可以正常返回List<Object>
return mData;
}
}
class Pair<T> {
private T value;
public Pair(T value) {
this.value=value;
}
public T getValue() {
return value;
}
public void setValue(T value) {
this.value = value;
}
}
...........
public static void main(String[] args) throws ClassNotFoundException {
Pair<String> pair=new Pair<String>("Hello");
String str=pair.getValue();
System.out.println(str);
pair.setValue("World");
str=pair.getValue();
System.out.println(str);
}