我有一个可能相当愚蠢的问题。 我有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);
}
答案 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);
}