for循环中的if语句加break有什么后果!

@Override
public void setInput(Traffic traffic) {
this.traffic = traffic;

    for (IAttribute attr : traffic.getAttrs()) {
        if (attr instanceof DpiAttr) {//获取DpiAttr
            dpiAttr = (DpiAttr) attr;
            floderAttr = dpiAttr.getFloderAttr();
                             break;//////////////////////////注意此处
        } else if (attr instanceof FilesAttr) {//获取FilesAttr
            filesAttr = (FilesAttr) attr;
        }
    }

    if (null == dpiAttr) {
        dpiAttr = DpiModelFactory.eINSTANCE.createDpiAttr();
        traffic.getAttrs().add(dpiAttr);
    }

    if (null == floderAttr) {
        floderAttr = DpiModelFactory.eINSTANCE.createFloderAttr();
        dpiAttr.setFloderAttr(floderAttr);
    }

    if (null == filesAttr) {
        filesAttr = ModelFactory.eINSTANCE.createFilesAttr();
        traffic.getAttrs().add(filesAttr);
    }


    initData();
}

我在if中加了break将有什么样的严重后果 请大家帮我分析下

[code="java"]@Override
public void setInput(Traffic traffic) {
this.traffic = traffic;

for (IAttribute attr : traffic.getAttrs()) {
if (attr instanceof DpiAttr) {//获取DpiAttr !!!如果获取到了
dpiAttr = (DpiAttr) attr;
floderAttr = dpiAttr.getFloderAttr();
break;/////!!直接break跳出去了
} else if (attr instanceof FilesAttr) {
filesAttr = (FilesAttr) attr; ////!!!!break了 这个就可能没机会执行了
}
}

if (null == dpiAttr) {
dpiAttr = DpiModelFactory.eINSTANCE.createDpiAttr();
traffic.getAttrs().add(dpiAttr);
}

if (null == floderAttr) {
floderAttr = DpiModelFactory.eINSTANCE.createFloderAttr();
dpiAttr.setFloderAttr(floderAttr);
}

if (null == filesAttr) { ///////////////!!!!!就有可能执行这一段
filesAttr = ModelFactory.eINSTANCE.createFilesAttr();
traffic.getAttrs().add(filesAttr);
}

initData();
} [/code]

不会咋样。。break就是跳出上一层for循环嚒。。。。。for (IAttribute attr : traffic.getAttrs())

比如设置了dpiAttr 然后跳出for循环,如果filesAttr 还没设置就没机会赋值了,原来是null还是null。。。。

[code="java"]
for (IAttribute attr : traffic.getAttrs()) {
if (attr instanceof DpiAttr) {//获取DpiAttr
dpiAttr = (DpiAttr) attr;
floderAttr = dpiAttr.getFloderAttr();

    break;//////////////////////////注意此处

} else if (attr instanceof FilesAttr) {//获取FilesAttr
    filesAttr = (FilesAttr) attr;
}

}

// 加上break;没有严重后果,看逻辑是不是需要这样。
// 加上break;得到第一个符合条件的,不加,得到最后一个符合条件的。

[/code]