add 메서드를 사용하여 LinkedList를 구현하려고합니다. 보시다시피, 나는 LinkedList 클래스를 만들고 String
을 포함하는 ArrayList
인 nodes
특성으로 초기화했습니다.Java에서 메소드 내부의 전역 변수에 액세스하는 방법은 무엇입니까?
add
함수는 단순히 값을 받아 nodes
끝에 추가해야합니다. 대신 NullPointerException이 발생합니다.
무엇이 여기에 있습니까?
public class LinkedList {
public static ArrayList<String> nodes;
public LinkedList() {
ArrayList<String> nodes = new ArrayList<String>();
System.out.print(nodes);
}
public ArrayList<String> add(String value) {
nodes.add(value);
return nodes;
}
public static void main(String [] args) throws IOException
{
LinkedList list = new LinkedList();
list.add("B");
}
}
내가 물어 봐도 변수 인스턴스를 초기화? 'nodes'는 클래스가 아니라 인스턴스의 일부입니다. 또한 이미 필드이기 때문에'nodes = new ArrayList();'형식이 없어야합니다. –
Li357
'ArrayList nodes = new ArrayList (); 이것은 문제입니다. –
vinS
로컬 변수가 필드를 숨기고 있습니다. 컴파일러에서 이것에 대해 경고하지 않았습니까? –