我有一个类似于此的POJO
public class Color {
public List<Shade> shades = new ArrayList();
public setShades (List<Shade> shades) {this.shades = shades;}
public List<Shade> getShades() {return this.shades;}
}
这样我只能通过列表添加阴影。意思是我只能这样做:
Color myColor = new Color();
List<Shade> myShades = new ArrayList();
myShades.add(new Shade("light"));
myColor.setShades(myShades);
但是,我希望能够直接添加到已设置的阴影列表中。像这样:
Color myFinalColor = new Color();
for (Color c : myColorList) {
for (Shade s : myShade) {
if (!("dark").equalsIgnoreCase(s.getName()))
myFinalColor.addToShadeList(s); //This will add to the existing shade list.
}
}
我可以做这样的事情来实现我想要的东西,但看起来很麻烦。
Color myFinalColor = new Color();
for (Color c : myColorList) {
for (Shade s : myShade) {
if (!("dark").equalsIgnoreCase(s.getName())) {
List<Shade> existingShades = myFinalColor.getShades();
existingShades.add(s);
myFinalColor.setShades(existingShades);
}
}
}
答案 0 :(得分:4)
为什么不这样做:
myFinalColor.getShades().add(s);
或者只是将addShade
方法添加到Color类中,如下所示:
public void addShade(Shade shade) {
shades.add(shade);
}
答案 1 :(得分:0)
这与
相同Color myFinalColor = new Color();
List<Shade> existingShades = myFinalColor.getShades();
for (Shade s : myShade)
if (!"dark".equalsIgnoreCase(s.getName()))
existingShades.add(s);