Java - 创建多个对象并使它们可以区分

时间:2017-02-12 11:12:41

标签: java object

我的程序从文本文件中读取以根据匹配的模式创建对象。它至少是一个,但最多可以是4个,具体取决于文件,我需要将它们中的每一个单独存储。如果object1不存在,请创建它,如果已有object1,则创建object2。但我正在努力使用IDE告诉我我还没有实例化object1,或者它最终只是创建object1(当我将它移动到类变量时)。我能理解它为什么会这样做,但在谈到如何解决它时我感到很茫然。

所以我尝试过这样的事情:

MyObject object1;

if(patternMatchFound){
     if(object1 == null){
         object1 = new MyObject();
     }else if(object 1 != null){
         object2 = new MyObject();
     }else if(object2 != null){
         object3 = new MyObject();
     }else if(object3 != null){
         object4 = new MyObject();
     }
  }

这总是只创建第一个对象(因为object1总是为null)。但是我该如何解决这个问题呢?如何检查对象是否已存在并在需要时创建一个新对象?

1 个答案:

答案 0 :(得分:0)

是的,你是对的。在此代码中,object1始终为null,如果条件为

patternMatchFound

为真,然后执行第一个if。

我不知道你的真实问题但是你提供的信息不得不执行你的if语句4次

MyObject object1,object2,object3,object4;

for(int i = 0; i<4 && patternMatchFound; i++){
 if(object1 == null){
     object1 = new MyObject();
 }else if(object 1 != null){
     object2 = new MyObject();
 }else if(object2 != null){
     object3 = new MyObject();
 }else if(object3 != null){
     object4 = new MyObject();
 }
}