猿问
下载APP

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

假设存在以下的代码:


pubilc Object get(){

        

        if(){

            

            if(){

                return null;

            }else{

                return null;

            }

            

        }else{

            return null;

        }

}

这样就存在3个return了 ,这样写存在什么问题 ?


如果改成这样设置一个常量,该常量为null:


pubilc Object get(){

        

        

        

        if(){

            

            if(){

                return user;

            }else{

                return SystemParm.NULL;

            }

            

        }else{

            return SystemPar.NULL;

        }

}

到底哪一种好一些 ?


繁星淼淼
浏览 89回答 3
3回答

慕妹3242003

如果追求可读性,这样写: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;}

12345678_0001

我认为应该是这样子的pubilc Object get(){        Object obj=null;        if(){                        if(){               obj=x;            }else{               obj=xx;            }                    }else{            obj=xxx;        }      return obj;}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JAVA
我要回答