如果我在java中的构造函数之外初始化一个类成员List会有什么错误

时间:2015-07-23 18:19:15

标签: java

这是我的代码:

     A.java
****************
Public class A {
  List<String> member;  
}

    Main.java
****************
public void main() {
  List<String> l = new ArrayList<String>();
  l.add("apple");
  l.add("balala");
  A a = new A();
  a.member = l;

  for (String s : a.member)
    system.println(s);
  } 
}

然后我得到 Java Null指针错误

另一方面,如果我在new a.member的构造函数中class A。一切都很好。

上面的代码有什么问题? (target Array can not be copied without initialization)?

2 个答案:

答案 0 :(得分:0)

我不知道你在哪里创造&#34; a&#34;。你需要这样的东西:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<img src="something.jpg">
<br>
<img src="nonono.jpg">
<br>
<img src="xyz.jpg">
<br>
<img src="ispumlorem.jpg">
<br>
<div></div>

答案 1 :(得分:0)

您正在从另一个类访问非静态成员变量,因此您必须创建一个对象来访问该变量。

在您的情况下,它将是A a = new A();

<强> Main.java

import java.util.ArrayList;
import java.util.List;

public class Main {

    public static void main(String[] args) {
        List<String> l = new ArrayList<String>();
        l.add("apple");
        l.add("balala");
        A a = new A();
        a.member = l;

        for (String s : a.member) {
            System.out.println(s);
        }
    }
}
class A {
    List<String> member;
}