创建新对象错误JAVA android

创建新对象错误JAVA android,java,android,class,object,Java,Android,Class,Object,我计划有一个方法来创建一个新对象,这样我每次调用它时都可以更新该方法 代码如下: public class CollectedData { List<BusSearchOuterDataResults> busData = new ArrayList<BusSearchOuterDataResults>(); public BusSearchOuterDataResults outerData; public void createNewOu

我计划有一个方法来创建一个新对象,这样我每次调用它时都可以更新该方法

代码如下:

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;
     }
}
公共类收集的数据{
List busData=新的ArrayList();
公共总线搜索外部数据结果外部数据;
public void createNewOuterDataObject(){
outerData=新的BusSearchOuterDataResults();
this.outerData=outerData;
}
public void createNewInnerDataObject(){
createNewInnerDataObject();
}
public void addAllCollectedData(){
busData.add(outerData);
}
公共列表getBusData(){
返回总线数据;
}
}
为什么当我调用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;
}
}
公共类BusSearchOuterDataResults{
List innerData=new ArrayList();
私有字符串路由;
私有字符串路由标签;
私有字符串方向;
public BusSearchInnerDataResults innerDataOBJ=新建BusSearchInnerDataResults();
public BusSearchOuterDataResults(字符串routeNo、字符串routeLabel、字符串方向){
this.routeNo=routeNo;
this.routeLabel=routeLabel;
这个方向=方向;
}
公共总线SearchOuterDataResults(){
}
public void createNewInnerDataObject(){
BusSearchInnerDataResults innerDataOBJ=新的BusSearchInnerDataResults();
this.innerDataOBJ=innerDataOBJ;
}
public void addAllCollectedData(){
添加(新的BusSearchInnerDataResults());
}
公共void setRouteNo(字符串routeNo){
this.routeNo=routeNo;
}
公共void setRouteLabel(字符串routeLabel){
this.routeLabel=routeLabel;
}
公共方向(字符串方向){
这个方向=方向;
}
公共字符串getrouteNo(){
返回routeNo;
}
公共字符串getrouteLabel(){
返回路由标签;
}
公共字符串getdirection(){
返回方向;
}
公共列表getData(){
返回内部数据;
}
}

您的代码不正确:

public void createNewOuterDataObject(){
   outerData = new BusSearchOuterDataResults(); // here you are initializing your field
   this.outerData = outerData; // but here ? what is this line for ? 
}
第二行什么都不做,就像做

int x = 0 ;
 x=x;

你说它不会让你创建一个新的是什么意思?在我的ADT eclipse中,我放了一些类似Lod.d(“初始化”,“等待”);createNewInnerDataObject();Lod.d(“成功”、“成功”);但是在初始化之后,成功日志从来没有出现过这意味着什么…?您应该将logcat筛选到错误日志,并向我们显示错误堆栈、引发了什么异常?我们需要在BusSearchOuterDataResults的构造函数中查看代码。看起来这在某种程度上是失败的,但从你目前发布的内容来看,原因并不明显。是的,但它不会抛出任何异常或导致任何其他问题。不要向我解释。把它加到你的答案里。解释为什么这是不正确的,或者更确切地说,为什么它可能不是OP需要的。@Tanis你不能用无用的行塞满你的代码并期望它正常工作,你必须编写一个清晰易懂的代码,然后尝试调试它,以防它抛出异常