java中返回值是一个泛型(通配符),如何从一个用通配符的对象中取到想要的值?
GlobalResponse<?> result =new GlobalResponse<>();
result= Client.getValue(point);
Object o = result.getData()
后面怎么写呀?
public class GlobalResponse<T> implements Serializable {
private String code;
private String msg;
private T data;
...........
返回结果是这样的
{id=2525843, av=46208}
{id=2525430, av=42038}
回复
1个回答

test
2024-07-20
如果能确定Client.getValue返回值中data的类型,那么直接指定GlobalResponse中的泛型,比如data是String类型,则
GlobalResponse<String> result = Client.getValue(point);
String o = result.getData();
如果无法确定,那就只能用instanceOf来判断强转了
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容