Java - 为什么没有基于返回类型的方法重载?

我知道这是不可能的,但是谁能提供一个理论来解释为什么 Java 选择不支持这个?我之所以问,是因为我刚刚遇到了一种情况,我认为拥有它会很好.

I know this is not possible but can anyone provide a theory as to why Java chose not to support this? I am asking because I just ran into a situation where I think it would be nice to have.

推荐答案

因为Java中不需要捕获方法的返回值,在这种情况下编译器无法决定使用哪个重载.例如

Because you are not required to capture the return value of a method in Java, in which case the compiler can not decide which overload to use. E.g.

boolean doSomething() { ... }

int doSomething() { ... }

doSomething(); // which one to call???

相关文章