private List<? extends Object> mTestList;
public <T extends Object> void notifyDataSetChanged(int position, T object) {
mTestList.set(position, object);
}
如图。
private List<? extends Object> mTestList;
public <T extends Object> void notifyDataSetChanged(int position, T object) {
mTestList.set(position, object);
}
如图。
1) 直接给你代码,代码里有详细的注释,copy后即可运行
import java.util.ArrayList;
import java.util.List;
/**
* @author pcj
* @date 2022/4/19
* @note
*/
public class T3 {
//private List<? extends Object> mTestList;
//在泛型里,?是不确定的类型,所以这里修改为Object
private List<Object> mTestList;
public <T extends Object> void notifyDataSetChanged(int position, T object) {
//做个判断,避免jvm没有初始化
if (mTestList == null) mTestList = new ArrayList<Object>();
mTestList.set(position, object);
}
/**
* 测试
* @param args
*/
public static void main(String[] args) {
T3 t3 = new T3();
// 做个判断,可能会有不初始化的情况
if (t3.mTestList == null) {
List<Object> temp_mTestList = new ArrayList<Object>();
t3.mTestList = temp_mTestList;
}
// 添加测试数据
t3.mTestList.add(new Integer(1));
t3.mTestList.add(new Integer(2));
System.out.println("修改前:" + t3.mTestList.toString());
//执行修改
t3.notifyDataSetChanged(1, 3);
System.out.println("修改后:" + t3.mTestList.toString());
}
}