67,516
社区成员
发帖
与我相关
我的任务
分享
public void GetUser(List<User> list) //所以,这里的list和main方法的list是两个不同的变量,
//它们都指向main方法的new ArrayList<User>()对象
{
if(list==null){ //所以测试2的时候
list = new ArrayList<User>(); //这里是改变了GetUser的list指针的指向,
//但是并不改变main方法的list指针的指向
}
User user = new User("张三");
list.add(user); //所以当参数为null的时候,这里的list和main的list指向的对象已经不一样了
//main的list指向null对象
//而GetUser的list指向GetUser方法体中的new ArrayList<User>()对象
//而当参数不为null的时候,因为这里的list和main的list指向的都是main方法中
//的new ArrayList<User>()对象,所以在这里修改对象的属性,
//在main中也可以看到变化
}
public List<User> GetUser()
{
List<User> list = new ArrayList<User>();
User user = new User("张三");
list.add(user);
return list;
}
在main方法中
List<User> list = GetUser();