java返回类型ResponseEntity<?>和ResponseEntity<Object>和ResponseEntity<MyCustomClass>
现在我需要我的控制器根据业务逻辑返回两种不同类型的对象,所以我的问题是我应该使用
ResponseEntity <?>
或者我应该使用:
ResponseEntity <Object>
此返回类型之间有什么区别?为什么要使用它们
它是否对Spring控制器返回的JSON进行了任何更改
我问的是返回类型,而不是输入参数
我使用SpringMVC4
# 1 楼答案
把这个问题想成
相当于
SomeClass<String>
的实例与SomeClass<?>
匹配,但与SomeClass<Object>
不匹配我认为这是一个常见的误解,即在Java中,List不是List的子类型,而String[]实际上是Object[]的子类型。 这就是泛型和数组不能很好地混合的原因之一。Java中的数组是协变的,泛型不是,它们是不变的
总之,您可以使用
ResponseEntity<?>
并在控制器中使用它,如下所示