使用现有对象填充数组

时间:2016-12-29 15:27:47

标签: java

我有一个可能相当愚蠢的问题。 我有3个Paint对象--Paint1,Paint2,Paint3。为了便于阅读,这些是单独声明的。所有3个都有几个不同的属性和一个共同的 - 颜色。

有没有办法在某种集合中填充它们并使用for循环设置颜色属性?

举个例子:

Paint paint1, paint2; paint3;

paint1=new Paint();
paint1.setTextSize(10dp);

paint2=new Paint();
paint2.setTextSize(20dp)

paint3=new Paint();
paint3.setTextSize(30dp)

Paint[] arrayOfPaints = {paint1,paint2,paint3};

for(int i = 0; i < arrayOfPaints.length; i++){
        arrayOfPaints[i].setColorFilter(color);
    }

2 个答案:

答案 0 :(得分:3)

是的,虽然你在循环中不需要i,所以可以使用增强型循环,paints是一个更好的名称,因为通常最好不要将集合类型实现细节放入变量的名称:

List<Paint> paints = Arrays.asList(paint1, paint2, paint3);
for(Paint paint : paints) {
    paint.setColorFilter(color);
}

答案 1 :(得分:0)

好的,这就是答案。

Paint paint1;
Paint paint2;
Paint paint3;

List<Paint> paints = new ArrayList<Paint>();
paints.add(paint1);
paints.add(paint2);
paints.add(paint3);

for(Paint paint : paints) {
paint.setColorFilter(color);
}