这是我的津贴班
public class Allowance {
private String Id;
private String Name;
private String Type;
private String RemainingAmount;
private String TotalAmount;
}这是创建列表
public List<Allowance> getBList(){
List<Allowance> BList = new ArrayList<>();
List.add(new Allowance("5964852","Name1","DATA","10","458965"));
List.add(new Allowance("651655","Name2","DATA","20","5481662"));
List.add(new Allowance("123","Name3","VOICE","30","8889625"));
List.add(new Allowance("123423","Name4","DATA","20","325489"));
return BList;
}这是我的福利课
public class Benefits {
private String itemId;
private String bName;
private String remaining;
private String bTotal;
}因此,我希望将Allowance类变量值设置为如下所示的福利类变量值
Id值-> itemId值
名称值-> bName值
RemainingAmount值->剩余值
TotalAmount值-> bTotal值
那么我想要像这样退回福利清单
["itemId" : "5964852","bName": "Name1","remaining":"10","bTotal":"458965"]有人能帮我吗?
发布于 2020-08-16 07:35:36
您可以使用单个arg构造函数从Allowance实例中传递值,然后从传入的Allowance实例中that福利类的属性。还可以重写效益类的toString方法以获得所需的输出。“津贴”类中的克隆方法将接受您为返回福利实例列表而创建的列表。
津贴类别:
class Allowance {
private String Id;
private String Name;
private String Type;
private String RemainingAmount;
private String TotalAmount;
public String getId() {
return Id;
}
public String getName() {
return Name;
}
public String getType() {
return Type;
}
public String getRemainingAmount() {
return RemainingAmount;
}
public String getTotalAmount() {
return TotalAmount;
}
public Allowance(String id, String name, String type, String remainingAmount, String totalAmount) {
Id = id;
Name = name;
Type = type;
RemainingAmount = remainingAmount;
TotalAmount = totalAmount;
}
public List<Benefits> clone(List<Allowance> allowanceList){
List<Benefits> benefitList = new ArrayList<>();
for(Allowance allowance : allowanceList){
benefitList.add(new Benefits(allowance));
}
return benefitList;
}
}福利类别:
class Benefits{
private String itemId;
private String bName;
private String remaining;
private String bTotal;
public Benefits(Allowance allowance){
this.itemId = allowance.getId();
this.bName = allowance.getName();
this.remaining = allowance.getRemainingAmount();
this.bTotal = allowance.getTotalAmount();
}
@Override
public String toString() {
return "[ itemId : " + this.itemId + ", bName : " + this.bName + ", remaining : " + this.remaining + ", bTotal :" + this.bTotal + "]";
}
}要创建福利项目列表,还可以直接创建以下列表:
List<Benefits> bList = new ArrayList<>();
Allowance a = new Allowance("5964852","Name1","DATA","10","458965");
Allowance b = new Allowance("651655","Name2","DATA","20","5481662");
Allowance c = new Allowance("123","Name3","VOICE","30","8889625");
Allowance d = new Allowance("123423","Name4","DATA","20","325489");
bList.add(new Benefits(a));
bList.add(new Benefits(b));
bList.add(new Benefits(c));
bList.add(new Benefits(d));发布于 2020-08-16 08:03:47
使用流和lambda是很容易实现的。
List<Allowance> AList = BList.stream().map(B -> {
new Allowance(
B.getId(),
B.getName(),
B.getRemainingAmount(),
B.bTotal())
}).collect(Collectors.toList())发布于 2020-08-16 07:02:53
因此,根据我在对你最初问题的答复中所读到的,你会寻找一些类似的东西;
的所有属性创建getter。
然后,
公共福利(津贴a) { this.itemId = a.getID;this.bName = a.getName;this.remaning = a.getRemainingAmount;this.bTotal = a.getTotalAmount;}
https://stackoverflow.com/questions/63433864
复制相似问题