-2

メソッドを呼び出すたびにメソッドを更新できるように、新しいオブジェクトを作成するメソッドを持つことを計画していました

コードは次のとおりです。

public class CollectedData {
     List<BusSearchOuterDataResults> busData = new ArrayList<BusSearchOuterDataResults>();
     public BusSearchOuterDataResults outerData;
     public void createNewOuterDataObject(){
         outerData = new BusSearchOuterDataResults();
         this.outerData = outerData;
     }
     public void createNewInnerDataObject(){
         outerData.createNewInnerDataObject();
     }
     public void addAllCollectedData(){
         busData.add(outerData);
     }
     public List<BusSearchOuterDataResults> getBusData(){
         return busData;
     }
}

createNewOuterDataObject メソッドを呼び出すと、新しいものを作成できないのはなぜですか? 初期化なしで createNewOuterDataObject のクラス obj を既に呼び出しているためですか?

public class BusSearchOuterDataResults {
List<BusSearchInnerDataResults> innerData = new ArrayList<BusSearchInnerDataResults>();

private String routeNo;
private String routeLabel;
private String direction;
public BusSearchInnerDataResults innerDataOBJ = new BusSearchInnerDataResults();

public BusSearchOuterDataResults(String routeNo, String routeLabel, String direction){
    this.routeNo = routeNo;
    this.routeLabel = routeLabel;
    this.direction = direction;
}

public BusSearchOuterDataResults(){

}

public void createNewInnerDataObject(){
    BusSearchInnerDataResults innerDataOBJ = new BusSearchInnerDataResults();
    this.innerDataOBJ = innerDataOBJ;
}
public void addAllCollectedData(){
    innerData.add(new BusSearchInnerDataResults());
}

public void setRouteNo(String routeNo){
    this.routeNo = routeNo;
}
public void setRouteLabel(String routeLabel){
    this.routeLabel = routeLabel;
}
public void setDirection(String direction){
    this.direction = direction;
}
public String getrouteNo(){
    return routeNo;
}
public String getrouteLabel(){
    return routeLabel;
}
public String getdirection(){
    return direction;
}
public List<BusSearchInnerDataResults> getData(){
    return innerData;
}
}
4

1 に答える 1