搜索

首页  >  问答  >  正文

java - 关于返回值的问题 ,return的次数到底到多少 ?

大家讲道理大家讲道理2893 天前534

全部回复(5)我来回复

  • 迷茫

    迷茫2017-04-18 09:27:39

    如果追求可读性,这样写:

    pubilc Object get() {
        if () {
            return A;
        }
    
        if () {
            return B;
        }
    
        return C;
    }

    回复
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 09:27:39

    除了可读性差点,没什么问题,一个方法有可能根据不同情况返回不同的结果,但每次调用都只会返回其中一种结果

    有种比较好的写法是,在方法体内优先处理异常分支,尽早返回异常结果。

    pubilc Object get(){
        //第一个if对应题目中的最后一个else
        if(invalidResult1) {
            return null;
        }
        //第二个if对应题目中倒数第二个else
        if(invalidResult2) {
            return null;
        }
        //对应题目中第二个if
        return succesResult;
    }

    回复
    0
  • 天蓬老师

    天蓬老师2017-04-18 09:27:39

    楼上的答案更加优化

    回复
    0
  • 阿神

    阿神2017-04-18 09:27:39

    有一个关键点是,一个方法一次调用只会返回一次。如果你的方法有可能返回两次是编译不通过的。因为方法返回了值,那就表示方法已经到达终点,程序就会走出这个方法。

    回复
    0
  • 大家讲道理

    大家讲道理2017-04-18 09:27:39

    我认为应该是这样子的

    pubilc Object get(){
            Object obj=null;
            if(){
                
                if(){
                   obj=x;
                }else{
                   obj=xx;
                }
                
            }else{
                obj=xxx;
            }
          return obj;
    }

    回复
    0
  • 取消回复