这之间有什么区别:
public class A
{
List<String> myList;
public A(List<String> list)
{
myList = new ArrayList<String>();
myList = list;
}
}
public class main extends Activity
{
public void func(List<String> l)
{ A obj = new A(l);
}
}
还有这个:
public class A
{
List<String> myList;
public A()
{
myList = new ArrayList<String>();
}
}
public class main extends Activity
{
public void func(List<String> l)
{
A obj = new A();
obj.myList = l;
}
}
它们都实现了在android中的 Activity 中使用类的对象,但是在第一个myList中正确初始化,在第二个中它没有初始化。为什么? 谢谢。
最佳答案
代码方面没有区别,除了在第二种情况下您没有初始化列表,这就是它没有被初始化的原因。这样改一下就可以了
A obj = new A();
l = new ArrayList<String>(); //This is called initialization.
obj.myList = l;
它会起作用。
关于java - android中如何初始化类的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29578589/