2014-11-20 4 views
-3

안녕하세요 다음 문제가 있습니다. arraylist를 만들고 싶고 일부 항목을 추가하고 싶습니다. 하지만 어떻게 든 .add 메서드가 없습니다.ArrayList .add 메서드가 없습니다.

import java.util.ArrayList; 
public class Chairing{ 
    private int numbers; 
    ArrayList<Chairs>myList = new ArrayList<Chairs>(); 
    myList.add(5,new Chairset("10")); 
    } 

public class Chair{ 
    int price; 
    String info; 

    public Chair(int price, Chairset c){ 
    this.price = price; 
    info = c.getInfo(); 
    } 
} 

public class Chairset{ 
    String info; 

    public Chairset(String id){ 
    id = info; 
    } 
} 

일부 이유 때문에 내 새 ArrayList에 항목을 추가 할 수 없습니다. 의장을위한 생성자는 가격과 목적의 의자가 필요합니다. 의자 세트에는 ID가 필요합니다.

+7

난 그냥'ArrayList를 '와'공용 클래스 Chairset'을 강조합니다. –

+3

왜 클래스 정의 안에'import' 문이 있습니까? – khelwood

+1

'! Chairset instanceof Chair' –

답변

0

문제는 클래스에 일반적인 유형이 없다는 것입니다. 가장 일반적인 제네릭 바인딩은 Object 일 수 있습니다. 마커 인터페이스를 사용하거나 의자와 의자 세트 사이의 유사점을 알아보고 다른 의자를 확장하여 공통 유형을 제공하십시오.

또한 목록에 추가하는 코드의 행은 올바른 위치에 있지 않으므로 메서드 내에 있어야합니다.

이 시도 :

public class Chairing { 
    private int numbers; 
    List<Chairset> myList = new ArrayList<Chairset>(); 
    public void someMethod() { 
     myList.add(5,new Chairset("10")); 
    } 
} 

public class Chair extends Chairset { 
    int price; 

    public Chair(int price, Chairset c){ 
     super(c.getInfo()); 
     this.price = price; 
    } 
} 

public class Chairset { 
    String info; 

    public Chairset(String id){ 
     id = info; 
    } 
} 
관련 문제