我正在阅读一些包含此行代码的代码:
public <T> ResponseEntity<T> createResponse(T body, HttpStatus httpStatus) {
return new ResponseEntity<>(body, httpStatus);
}
好奇为什么这句话需要第一个<T>
(在合同的public <T>
部分内)?
更新(根据评论讨论做一些脑力激荡):还假设合同是这样写的:
public <T> ResponseEntity<Person> createResponse(T body, HttpStatus httpStatus) {
... Do something with the T body to create the person response.
return new ResponseEntity<>(person, httpStatus);
}
这对正确无益,因为没有理由使用这样声明的泛型类型的方法参数?