久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    別再if套if了!Java中return的9種優(yōu)雅寫法

     jacklopy 2025-09-03
    大家好,我是大華 !
    很多朋友寫代碼時(shí),return 語句用得比較隨意。嵌套好層 if 才 return,讓人眼花繚亂。其實(shí) return 寫得好不好,直接影響代碼的可讀性和 bug 率。

    今天分享10個(gè)實(shí)用的return寫法

    1、提前 return

    反面案例

    public boolean isValid(User user) {    boolean result = false;    if (user != null) {        if (user.getName() != null && !user.getName().isEmpty()) {            if (user.getAge() > 0) {                result = true;            }        }    }    return result;}
    優(yōu)化寫法
    public boolean isValid(User user) {    if (user == nullreturn false;    if (user.getName() == null || user.getName().isEmpty()) return false;    if (user.getAge() <= 0return false;    return true;}
    邏輯清晰,一眼就能看出什么情況下不合法。

    2、守衛(wèi)模式

    這種寫法專業(yè)點(diǎn)叫Guard Clause(守衛(wèi)語句)
    public void processOrder(Order order) {    if (order == null) return;    if (!order.isPaid()) return;    if (order.isProcessed()) return;    log.info("開始處理訂單: " + order.getId());    // ... 正經(jīng)邏輯}

    主流程完全不用縮進(jìn),干干凈凈。

    3、return配合Optional

    Java8的Optional,用好了能少寫一堆判空
    public Optional<User> findUserById(Long id) {    User user = userMapper.selectById(id);    return Optional.ofNullable(user);}
    調(diào)用方:
    findUserById(1001L)    .ifPresent(user -> System.out.println(user.getName()));
    避免空指針,代碼更安全。

    4、三元運(yùn)算符

    反面案例:

    public String getStatusDesc(int status) {    String desc;    if (status == 1) {        desc = "啟用";    } else {        desc = "禁用";    }    return desc;}
    正確寫法:
    public String getStatusDesc(int status) {    return status == 1 ? "啟用" : "禁用";}

    5、switch表達(dá)式

    Java14之后,switch 也能返回值了
    public String getRoleName(int role) {    return switch (role) {        case 1 -> "管理員";        case 2 -> "運(yùn)營";        case 3 -> "普通用戶";        default -> "未知角色";    };}

    6、try-catch中的return 

    這個(gè)坑我踩過:在 finally 里寫 return,結(jié)果異常被吞了!

    public String getData() {    try {        return "success";    } catch (Exception e) {        return "error";    } finally {        return "finally always wins"; // ? 危險(xiǎn)!永遠(yuǎn)返回這個(gè)!    }}

    不要在 finally 里 return!

    7、方法末尾return

    常見錯(cuò)誤:

    public String getStatus(int code) {    if (code == 200) {        return "成功";    }    // 如果 code 是 404 呢?沒 return!編譯報(bào)錯(cuò)!}
    正確寫法,在最后補(bǔ)一個(gè)兜底的
    public String getStatus(int code) {    if (code == 200) return "成功";    if (code == 404) return "未找到";    return "未知狀態(tài)"; // 兜底返回}

    8、return一個(gè)空集合,而不是null

    這個(gè)原則很重要!

    // 錯(cuò)誤示范public List<String> getTags() {    if (tags == null) return null;    return tags;}

    正確做法:

    public List<String> getTags() {    return tags == null ? Collections.emptyList() : tags;    // 或者用 Guava: Lists.newArrayList()}

    9、return與Stream配合

    public List<String> getValidUserNames(List<User> users) {    return users.stream()                .filter(Objects::nonNull)                .filter(u -> u.getStatus() == 1)                .map(User::getName)                .collect(Collectors.toList());}
    函數(shù)式編程,邏輯清晰,不容易出錯(cuò)

    return雖小,但用得好,可以讓代碼更清晰、更安全、bug更少


    你在項(xiàng)目中是怎么用 return 的?有沒有見過比較離譜的寫法?

    歡迎在評(píng)論區(qū)分享你的寫法!

      本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
      轉(zhuǎn)藏 分享 獻(xiàn)花(0

      0條評(píng)論

      發(fā)表

      請遵守用戶 評(píng)論公約

      類似文章 更多

      主站蜘蛛池模板: 国产福利高颜值在线观看| 香港日本三级亚洲三级| 久久精品国产福利一区二区| 亚洲AV无码精品色午夜果冻| 少妇真实被内射视频三四区| 亚洲一区二区偷拍精品| 自偷自拍亚洲综合精品| 国内精品久久久久影院网站| 四虎影视国产精品永久在线| 性刺激的欧美三级视频中文字幕 | 无码中文人妻视频2019| 不卡乱辈伦在线看中文字幕| 精品无人区一区二区三区 | 成人做受视频试看60秒| 亚洲制服丝袜系列AV无码| 日本高清中文字幕免费一区二区 | 国产精品中文字幕av| 精品久久久久久成人AV| 国产明星精品无码AV换脸| 精品无人区无码乱码毛片国产 | 337P日本欧洲亚洲大胆精品555588| 狠狠色噜噜狠狠狠狠777米奇| 国产精品久久久久久久网| 国产中文字幕在线精品| 欧产日产国产精品精品| 少妇又爽又刺激视频| 八区精品色欲人妻综合网| 我的公强要了我高潮在线观看| 国产999久久高清免费观看| 国产成人精品久久| 18级成人毛片免费观看| 蜜臀av久久国产午夜| 色综合AV综合无码综合网站| 久久精品蜜芽亚洲国产AV| 亚洲中文字幕人妻系列| 亚洲AV综合色区无码二区偷拍| 成人特黄A级毛片免费视频| 亚洲人成网站77777在线观看| a级国产乱理伦片在线观看al| 无码人妻久久一区二区三区免费丨 | 少妇无套内谢免费视频|