【发布时间】:2021-04-19 22:46:49
【问题描述】:
嘿,我有两个 java 类对象,它们的键和值是相同的,但是当我检查 ob1.equals(obj2) 时它返回 false。
这里是代码:
Category expected = new Category("01","lorem","custom");
ResponseEntity<List<LinkedHashMap>> response = restTemplate.exchange("/api/categories", HttpMethod.GET,
null, new ParameterizedTypeReference<List<LinkedHashMap>>() {});
LinkedHashMap result = response.getBody().get(0); // which is same as expected object
//check if equals
private boolean areEqual(LinkedHashMap result, Category expected) {
String catId = (String) obj.get("category_id"); //is 01
String name = (String) obj.get("category_name"); // is lorem
String sec = (String) obj.get("section_name"); // is custom
DefaultCategory temp = new Category(catId, name, sec);
return temp.equals(expected); //<--------- returning false, even they are equal
}
api返回这个类别
@GetMapping("categories")
public ResponseEntity<List<Category>> getDefaultCategories() {
List<Category> categories = new ArrayList();
categories.add(new Category("01","lorem","custom"));
return new ResponseEntity<>(categories, HttpStatus.OK);
}
【问题讨论】:
标签: java spring-boot integration-testing