Il était une fois les champs suivants en un seul endroit.
public class Xxx {
public String xxx1;
public String xxx2;
public String xxx3;
public String xxx4;
public String xxx5;
public String xxx6;
public String xxx7;
public String xxx8;
public String xxx9;
public String xxx10;
}
Et il y avait la liste suivante.
List<String> list = new ArrayList<String>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.add("ddd");
list.add("eee");
Quelqu'un a dit. "Je veux que vous parcouriez la liste et que vous définissiez les champs dans l'ordre à partir de 1."
Le développeur A a implémenté ce qui suit.
Xxx x = new Xxx();
int idx = 0;
x.xxx1 = (idx < list.size()) ? list.get(idx) : null;
idx++;
x.xxx2 = (idx < list.size()) ? list.get(idx) : null;
idx++;
x.xxx3 = (idx < list.size()) ? list.get(idx) : null;
idx++;
x.xxx4 = (idx < list.size()) ? list.get(idx) : null;
idx++;
x.xxx5 = (idx < list.size()) ? list.get(idx) : null;
idx++;
x.xxx6 = (idx < list.size()) ? list.get(idx) : null;
idx++;
x.xxx7 = (idx < list.size()) ? list.get(idx) : null;
idx++;
x.xxx8 = (idx < list.size()) ? list.get(idx) : null;
idx++;
x.xxx9 = (idx < list.size()) ? list.get(idx) : null;
idx++;
x.xxx10 = (idx < list.size()) ? list.get(idx) : null;
Le développeur B a implémenté ce qui suit.
Xxx x = new Xxx();
for (int idx = 0; idx < list.size(); idx++) {
x.getClass().getField("xxx" + (idx + 1)).set(x, list.get(idx));
}
c'est tout.
Recommended Posts