Java Arraylist同时更改所有对象中的一个属性值
我有一个具有此属性的模型Java Arraylist同时更改所有对象中的一个属性值,java,arraylist,Java,Arraylist,我有一个具有此属性的模型 public class Audit extends BaseModel implements Comparable { @Column @PrimaryKey @SerializedName("audit_id") private int id; @Column @SerializedName("address_line_1") private String addressLine1; @Column @SerializedName("address_line_2
public class Audit extends BaseModel implements Comparable {
@Column
@PrimaryKey
@SerializedName("audit_id")
private int id;
@Column
@SerializedName("address_line_1")
private String addressLine1;
@Column
@SerializedName("address_line_2")
private String addressLine2;
@Column
@SerializedName("city_name")
private String city;
@Column
@SerializedName("zip_code")
private String zipcode;
@Column
@SerializedName("company_id")
private int companyId;
@Column
@SerializedName("company_name")
private String companyName;
@Column
@SerializedName("loc_name")
private String location;
@Column
@SerializedName("inspection_date_time")
private OffsetDateTime inspectionTime;
@Column
@SerializedName("inspection_number")
private String inspectionNumber;
@Column(defaultValue = "0")
private int auditStatus;
@Column(defaultValue = "0")
private int userId;
public int getId() {
return id;
}
public String getAddressLine1() {
return addressLine1;
}
public String getAddressLine2() {
return addressLine2;
}
public String getCity() {
return city;
}
public String getZipcode() {
return zipcode;
}
public int getCompanyId() {
return companyId;
}
public String getCompanyName() {
return companyName;
}
public String getLocation() {
return location;
}
public OffsetDateTime getInspectionTime() {
return inspectionTime;
}
public String getInspectionNumber() {
return inspectionNumber;
}
public void setId(int id) {
this.id = id;
}
public void setAddressLine1(String addressLine1) {
this.addressLine1 = addressLine1;
}
public void setAddressLine2(String addressLine2) {
this.addressLine2 = addressLine2;
}
public void setCity(String city) {
this.city = city;
}
public void setZipcode(String zipcode) {
this.zipcode = zipcode;
}
public void setCompanyId(int companyId) {
this.companyId = companyId;
}
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
public void setLocation(String location) {
this.location = location;
}
public void setInspectionTime(OffsetDateTime inspectionTime) {
this.inspectionTime = inspectionTime;
}
public void setInspectionNumber(String inspectionNumber) {
this.inspectionNumber = inspectionNumber;
}
@Override
public int compareTo(@NonNull Object audits) {
int result = -1;
if (audits instanceof Audit) {
Audit audit = (Audit) audits;
if (this.getInspectionTime().isEqual(audit.getInspectionTime())) {
result = 0;
} else if
(this.getInspectionTime().isAfter(audit.getInspectionTime())) {
result = 1;
}
}
return result;
}
public int getAuditStatus() {
return auditStatus;
}
public void setAuditStatus(int auditStatus) {
this.auditStatus = auditStatus;
}
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
在这里,我使用这个模型将所有值都输入Arraylist
List<Audit> auditList
列表审核列表
我的列表是“auditList”,它包含审计对象,在这个auditList中我想更改一个属性
例如:我想将所有对象中的userId值更改为“3”,如何一次性执行,是否有任何解决方案请帮助我您需要迭代所有元素并更新
for (Audit aud : auditList) {
aud.setUserId(3);
}
如果你想把它放在一条线上
for (Audit aud : auditList) aud.setUserId(3);
使用Java 8流:
auditList.stream().forEach(elt->elt.setUserId(3))代码>
它对应于:
for (Audit aud : auditList) {
aud.setUserId(3);
}
谢谢,没有迭代,有什么解决办法吗?我想不出你的比较方法是错的,顺便说一句。@azro不,是错的。该方法有一个特定的契约,而该实现违反了该契约。与属性检查无关。你可能会想。@Kayaman那么正确编写compareto的最佳方法是什么呢。如link.foreach-->foreach中所述