a 编译器认为不是所有情况都会有返回值,虽然逻辑上看来已经覆盖了所有情况,但是编译器看来缺少了一个else,就不算覆盖所有情况。
但是在高级一些的IDE中,一般会辅助提示你,这里改用else,因为 最后一个 if中已经是 else 中的所有情况,如图:
编译器的硬性提示报错,缺少返回可能
IDE的辅助软提示,这里可以去掉这个 if
意思就是
如果 n>0 返回1
0==0 返回0
n < 0 返回 -1
正常思维我们思考就是包含全部范围了 但是编译器不会
它会觉得还有别的情况 但是那种情况下又没有返回值 违背了方法定义
认为没有返回值
敢问少侠这是何书?
在下认为老老实实编程就好,遇见此书,实感意外。