我在显示使用Arrays实用程序类添加到List中的元素时遇到问题。值存储是来自下面显示的类People的对象
public class People {
private static Integer age;
private static String name;
public People(String name,Integer age){
this.age = age;
this.name = name;
}
public Integer getAge(){
return this.age;
}
public String getName(){
return this.name;
}
@Override
public String toString(){
return "name"+this.getName()+" Age"+ this.getAge();
}
}
通过以下代码将值添加到List中:
List<People> myPeople = Arrays.asList(
new People("Samuel Owino", 18),
new People("Swale Mdohe", 12),
new People("Joseph Wambwile", 48),
new People("Samuel Werre", 18),
new People("Swale Mdohe", 12),
new People("Joseph Wambwile", 48)
);
显示代码如下:
myPeople.forEach(System.out::println);
意识到问题是在bean类,年龄和名称的实例变量上使用静态访问修饰符,当删除静态时,该方法完美地工作。感谢您的参考。
答案 0 :(得分:1)
您将成员变量设置为static,它们应该是实例级别:
private Integer age;
private String name;
否则,对列表的每次添加都会覆盖People
对象的共享状态。
我怀疑当变量传递给构造函数时,您要使用final
而不是static
。
答案 1 :(得分:1)
要获得列表的最后一项,您可以执行以下操作:
CGContextSetBlendMode(context, CGBlendMode.Normal)
CGContextSetFillColorWithColor(context, UIColor(white: 0.0, alpha: 0.75).CGColor)
CGContextFillRect(context, rect)
CGContextSetBlendMode(context, CGBlendMode.Clear)
CGContextSetFillColorWithColor(context, UIColor(white: 0.0, alpha: 1).CGColor)
CGContextFillRect(context, CGRectMake(20, 150, 100, 100))
CGContextSetFillColorWithColor(context, UIColor(white: 0.0, alpha: 1).CGColor)
CGContextFillRect(context, CGRectMake(50, 200, 100, 100))
CGContextSetBlendMode(context, CGBlendMode.Normal)
CGContextSetFillColorWithColor(context, UIColor(white: 0.0, alpha: 0.25).CGColor)
CGContextFillRect(context, CGRectMake(20, 150, 100, 100))
CGContextSetFillColorWithColor(context, UIColor(white: 0.0, alpha: 0.15).CGColor)
CGContextFillRect(context, CGRectMake(50, 200, 100, 100))