【发布时间】:2017-01-18 01:07:09
【问题描述】:
在Java中,方法可以定义如下:
Object m(boolean b) {
if (b) {
return "123";
} else {
return new Integer(123);
}
}
在这种情况下,m 的返回值在运行时可以是 String 或 Integer。那么有没有办法在静态时间内获取方法的所有可能的运行时返回类型?
【问题讨论】:
-
这被称为“糟糕的设计”。
-
一些 SO cmets 让我很开心哈哈哈
-
一个方法应该有一个带有
@return块标签的Javadoc来描述返回值。如果作者没有记录他们的方法,那就对他们感到羞耻(和不好的做法)。
标签: java methods reflection types return