搜尋

首頁  >  問答  >  主體

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

大家讲道理大家讲道理2894 天前537

全部回覆(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
  • 取消回覆