Java 为什么methodName(类<;?扩展interfaceName>;名称)有效,而methodName(类<;interfaceName>;名称)无效;T
我不明白为什么: HATEOASController接口:Java 为什么methodName(类<;?扩展interfaceName>;名称)有效,而methodName(类<;interfaceName>;名称)无效;T,java,spring,Java,Spring,我不明白为什么: HATEOASController接口: public interface HATEOASController { ResponseEntity<?> findAll(Pageable pageable); ResponseEntity<?> findById(Long id); } public class EstadoController implements HATEOASController {
public interface HATEOASController {
ResponseEntity<?> findAll(Pageable pageable);
ResponseEntity<?> findById(Long id);
}
public class EstadoController implements HATEOASController {
//other methods
@GetMapping(value={"/", ""})
public ResponseEntity<?> findAll(Pageable pageable){
Page<Estado> estados = estadoService.findAll(pageable);
estados.forEach(i->{ //**HERE**
// \/
HATEOASBuilder.linksBuilder(i, EstadoController.class);
HATEOASBuilder.linksBuilderWithMap(i.getCidades());
});
return new ResponseEntity(estados, HttpStatus.OK);
}
public static void linksBuilder (HATEOASBuilder estado, Class<? extends HATEOASController> ControllerClass){
//methods}
public static void linksBuilder (HATEOASBuilder estado, Class<HATEOASController> ControllerClass){
//methods}
公共接口HATEOASController{
响应findAll(可分页);
响应findById(长id);
}
EstadoController:
public interface HATEOASController {
ResponseEntity<?> findAll(Pageable pageable);
ResponseEntity<?> findById(Long id);
}
public class EstadoController implements HATEOASController {
//other methods
@GetMapping(value={"/", ""})
public ResponseEntity<?> findAll(Pageable pageable){
Page<Estado> estados = estadoService.findAll(pageable);
estados.forEach(i->{ //**HERE**
// \/
HATEOASBuilder.linksBuilder(i, EstadoController.class);
HATEOASBuilder.linksBuilderWithMap(i.getCidades());
});
return new ResponseEntity(estados, HttpStatus.OK);
}
public static void linksBuilder (HATEOASBuilder estado, Class<? extends HATEOASController> ControllerClass){
//methods}
public static void linksBuilder (HATEOASBuilder estado, Class<HATEOASController> ControllerClass){
//methods}
public类EstadoController实现hateoascoontroller{
//其他方法
@GetMapping(值={”/“,”“})
公共响应findAll(可分页){
Page estados=estadoService.findAll(可分页);
estados.forEach(i->{/**此处**
// \/
HATEOASBuilder.linksBuilder(i,EstadoController.class);
hateoasbuilderwithmap(i.getCidades());
});
返回新的响应状态(estados,HttpStatus.OK);
}
HATEOASBuilder:
public interface HATEOASController {
ResponseEntity<?> findAll(Pageable pageable);
ResponseEntity<?> findById(Long id);
}
public class EstadoController implements HATEOASController {
//other methods
@GetMapping(value={"/", ""})
public ResponseEntity<?> findAll(Pageable pageable){
Page<Estado> estados = estadoService.findAll(pageable);
estados.forEach(i->{ //**HERE**
// \/
HATEOASBuilder.linksBuilder(i, EstadoController.class);
HATEOASBuilder.linksBuilderWithMap(i.getCidades());
});
return new ResponseEntity(estados, HttpStatus.OK);
}
public static void linksBuilder (HATEOASBuilder estado, Class<? extends HATEOASController> ControllerClass){
//methods}
public static void linksBuilder (HATEOASBuilder estado, Class<HATEOASController> ControllerClass){
//methods}
publicstaticvoidlinksbuilder(HATEOASBuilder estado,因为Class
不是Class
的子类型。我不明白,确切地说,EstadoController在使用Class时不是HATEOASController的子类型