- bounty将在6天内到期**。此问题的答案有资格获得+50声望奖励。Kuldeep Yadav正在寻找一个答案从一个有信誉的来源。
有两个类A和B,这两个类都有相同类型的对象,并且希望将类A的值与类B的值相匹配。
A类样品:
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
@JsonIgnoreProperties(ignoreUnknown = true)
public class LedgerEntryResponseActual {
private String fromPartyId;
private PartyType fromType;
}
B类样品:
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class LedgerResponseExpected {
private String fromPartyId;
private PartyType fromType;
}
A类的JSON数据:
[
{
"fromPartyId": 1265389,
"fromType": "T168716355035036378"
},
{
"fromPartyId": 1265389,
"fromType": "T168716355035036379"
}
]
B类样本数据:
[
{
"fromPartyId": "13916fb0-fa83-40aa-a452-37de08e392ba",
"fromType": "MERCHANT"
},
{
"fromPartyId": "ce2593b1-2cc4-46c7-b1fe-9a57990f593c",
"fromType": "INTERCHANGE"
},
{
"fromPartyId": "ce2593b1-2cc4-46c7-b1fe-9a57990f593c",
"fromType": "INTERCHANGE"
},
{
"fromPartyId": "ce2593b1-2cc4-46c7-b1fe-9a57990f593c",
"fromType": "INTERCHANGE"
}
]
注:PartyType
是枚举。
能够Assert一个键和值,但希望同时Assert所有键和值。
boolean anyMatch = expectedResult.stream().anyMatch(element -> element.getPartyId().contains(responseActual.getPartyId()));
想要在java steam的帮助下将类A的键和值与类B匹配。
2条答案
按热度按时间im9ewurl1#
对概念的错误理解你应该只有一个类
LedgerResponse
和两个list示例,而不是只比较两个listkgsdhlau2#
你可以用下面的代码来实现:
在这里,我们从
expectedItems
列表中获取所有项,并检查使用LedgerResponseExpected
属性创建的对象是否存在于actualItems
中。