java - android中如何初始化类的字段?

标签 java android initialization

这之间有什么区别:

    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/

相关文章:

android - FrameLayout wrap_content

javascript - 如何在 React Native Expo 项目中从一个屏幕转到另一个屏幕?

c++ - 初始化模板类的静态成员

java - 在 Java 中连接到 Oracle DB 返回 NullPointerException

java - 将 Bitmap 转换为 Bitmap[] 数组

java - 在另一个 Controller 中获取模型和 View 对象

Java 静态初始化程序似乎是多余的

c++ - 将运算符 new[] 和放置 new 与普通 delete[] 混合

java - 如何将大型 Java 项目转换为 Maven 项目?

javascript - 如何将 Spring Mvc Controller 5 连接到 jsp 文件?