java 返回泛型方法_java – 从泛型类调用的方法将返回什么类型?

有没有办法了解从泛型类调用的方法将返回什么类型?

有一个例子:

Generified generified = new Generified();

Method method = generified.getClass().getMethod("getDoubleValue");

Class> returnType = ........

好的,有课:

public class Generified {

private T tValue;

private Z doubleValue;

private List tValueList;

public Generified() {

}

public T gettValue() {

return tValue;

}

public void settValue(T tValue) {

this.tValue = tValue;

}

public Z getDoubleValue() {

return doubleValue;

}

public void setDoubleValue(Z doubleValue) {

this.doubleValue = doubleValue;

}

public List gettValueList() {

return tValueList;

}

public void settValueList(List tValueList) {

this.tValueList = tValueList;

}

}

更新:

这就是我要求的原因:

我正在尝试使用lib,它可以对集合进行简单的聚合.我现在有:github.README.md

但是我对generified类的方法返回类型有很多问题.

我需要知道实际的返回类型,用CGLIB包装它,并为此返回类的所有方法添加拦截器,以便在将来知道调用层次结构.

但经过大量的调试后,我发现现在有办法做我想做的事,我想哭:)

解决方法:

从方法名称可以明显看出答案 – getDoubleValue()应该返回Double.但由于你没有提供该类的代码,我们只能猜测.

更新:

如果您在this page上检查MethodSpy并针对您的课程运行它,您将获得:

public Z Generified.getDoubleValue()

ReturnType: class java.lang.Object

GenericReturnType: Z

我认为只要查看泛型类就不能找到你想要的东西,它只是不包含你需要的信息.希望这可以帮助.

标签:java,reflection,generics

来源: https://codeday.me/bug/20190625/1284858.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值