光阴似箭催人老,日月如移越少年。
如果追求可读性,这样写:
pubilc Object get() { if () { return A; } if () { return B; } return C; }
除了可读性差点,没什么问题,一个方法有可能根据不同情况返回不同的结果,但每次调用都只会返回其中一种结果。
有种比较好的写法是,在方法体内优先处理异常分支,尽早返回异常结果。
pubilc Object get(){ //第一个if对应题目中的最后一个else if(invalidResult1) { return null; } //第二个if对应题目中倒数第二个else if(invalidResult2) { return null; } //对应题目中第二个if return succesResult; }
楼上的答案更加优化
有一个关键点是,一个方法一次调用只会返回一次。如果你的方法有可能返回两次是编译不通过的。因为方法返回了值,那就表示方法已经到达终点,程序就会走出这个方法。
我认为应该是这样子的
pubilc Object get(){ Object obj=null; if(){ if(){ obj=x; }else{ obj=xx; } }else{ obj=xxx; } return obj; }
如果追求可读性,这样写:
除了可读性差点,没什么问题,一个方法有可能根据不同情况返回不同的结果,但每次调用都只会返回其中一种结果。
有种比较好的写法是,在方法体内优先处理异常分支,尽早返回异常结果。
楼上的答案更加优化
有一个关键点是,一个方法一次调用只会返回一次。如果你的方法有可能返回两次是编译不通过的。因为方法返回了值,那就表示方法已经到达终点,程序就会走出这个方法。
我认为应该是这样子的