欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

分享幾個寫簡潔java代碼的小技巧

 更新時間:2022年02月23日 10:03:56   作者:carryxu123456  
成為一個優(yōu)秀的Java程序員,有著良好的代碼編寫習(xí)慣是必不可少的,下面這篇文章主要給大家介紹了關(guān)于寫java代碼的小技巧,文中通過圖文以及實例代碼介紹的非常詳細(xì),需要的朋友可以參考下

1. 定義配置文件信息

有時候我們?yōu)榱私y(tǒng)一管理會把一些變量放到 yml 配置文件中

例如

用 @ConfigurationProperties 代替 @Value

使用方法

定義對應(yīng)字段的實體

@Data
// 指定前綴
@ConfigurationProperties(prefix = "developer")
@Component
public class DeveloperProperty {
    private String name;
    private String website;
    private String qq;
    private String phoneNumber;
}

使用時注入這個bean

@RestController
@RequiredArgsConstructor
public class PropertyController {
 
    final DeveloperProperty developerProperty;
 
    @GetMapping("/property")
    public Object index() {
       return developerProperty.getName();
    }
}

2. 用@RequiredArgsConstructor代替@Autowired

我們都知道注入一個 bean 有三種方式哦(set 注入, 構(gòu)造器注入, 注解注入),Spring 推薦我們使用構(gòu)造器的方式注入 Bean

我們來看看上段代碼編譯完之后的樣子

RequiredArgsConstructor:lombok提供

3. 不要返回 null

反例

正例

別處調(diào)用方法時,避免不必要的空指針

optional 判空

//獲取子目錄列表
public List<CatalogueTreeNode> getChild(String pid) {
            if (V.isEmpty(pid)) {
            pid = BasicDic.TEMPORARY_DIRECTORY_ROOT;
        }
        CatalogueTreeNode node = treeNodeMap.get(pid);
 
        return Optional.ofNullable(node)
                .map(CatalogueTreeNode::getChild)
                .orElse(Collections.emptyList());
    }

4. if else

不要太多了if else if,可以試試策略模式代替

5. 減少controller業(yè)務(wù)代碼

業(yè)務(wù)代碼盡量放到service層進行處理,后期維護起來也好操作而且美觀

反例

正例

6.將字符串?dāng)?shù)組轉(zhuǎn)換成逗號分隔字符串

通常會這么寫:

public static void main(String[] args) {
    String strs = "";
    String[] arr = new String[]{"aa", "cc", "bb"}; // 轉(zhuǎn)換前的字符串?dāng)?shù)組
    StringBuilder sb = new StringBuilder();
    for (String ele : arr) {
      if (sb.length() > 0) {
        sb.append(",");
      }
      sb.append(ele);
    }
    strs = sb.toString(); // 轉(zhuǎn)換后的逗號分隔字符串
    System.out.println(strs);
}

更簡單的寫法:

public static void main(String[] args) {
    String[] arr = new String[]{"aa", "cc", "bb"}; // 轉(zhuǎn)換前的字符串?dāng)?shù)組
    String strs = String.join(",", arr); // 轉(zhuǎn)換后的逗號分隔字符串
    System.out.println(strs);
}

總結(jié)

到此這篇關(guān)于寫簡潔java代碼小技巧的文章就介紹到這了,更多相關(guān)寫java代碼的小技巧內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • springboot中自定義異常以及定制異常界面實現(xiàn)過程解析

    springboot中自定義異常以及定制異常界面實現(xiàn)過程解析

    這篇文章主要介紹了springboot中自定義異常以及定制異常界面實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • Spring?Boot開發(fā)時Java對象和Json對象之間的轉(zhuǎn)換

    Spring?Boot開發(fā)時Java對象和Json對象之間的轉(zhuǎn)換

    在Spring?Boot開發(fā)中,我們經(jīng)常需要處理Java對象和Json對象之間的轉(zhuǎn)換,本文將介紹如何在Spring?Boot項目中實現(xiàn)Java對象和Json對象之間的轉(zhuǎn)換,感興趣的朋友跟隨小編一起看看吧
    2023-09-09
  • swagger文檔增強工具knife4j使用圖文詳解

    swagger文檔增強工具knife4j使用圖文詳解

    這篇文章主要介紹了swagger文檔增強工具knife4j使用詳解,想要使用knife4j非常簡單,只要在Springboot項目中引入knife4j的依賴即可,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • Spring Boot實現(xiàn)圖片上傳/加水印一把梭操作實例代碼

    Spring Boot實現(xiàn)圖片上傳/加水印一把梭操作實例代碼

    這篇文章主要給大家介紹了關(guān)于Spring Boot實現(xiàn)圖片上傳/加水印一把梭操作的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • 以實例講解Objective-C中的KVO與KVC機制

    以實例講解Objective-C中的KVO與KVC機制

    這篇文章主要介紹了以實例講解Objective-C中的KVO與KVC機制,即Key-Value-Observing與Key-Value-Coding,需要的朋友可以參考下
    2015-09-09
  • 將Springboot項目升級成Springcloud項目的圖文教程

    將Springboot項目升級成Springcloud項目的圖文教程

    本文主要介紹了將Springboot項目升級成Springcloud項目,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • Java實現(xiàn)循環(huán)體的過濾器的方法

    Java實現(xiàn)循環(huán)體的過濾器的方法

    這篇文章主要介紹了Java實現(xiàn)循環(huán)體的過濾器的方法,需要的朋友可以參考下
    2014-02-02
  • struts1實現(xiàn)簡單的登錄功能實例(附源碼)

    struts1實現(xiàn)簡單的登錄功能實例(附源碼)

    本篇文章主要介紹了struts1實現(xiàn)簡單的登錄功能實例(附源碼),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • 使用springboot整合websocket實現(xiàn)群聊教程

    使用springboot整合websocket實現(xiàn)群聊教程

    websocket怎么說呢,就是服務(wù)器可以主動向客戶端發(fā)起對話,下面就是springboot整合websocket實現(xiàn)群聊的操作代碼,一起來看一下get新技能吧
    2021-08-08
  • Java實現(xiàn)抽獎算法的示例代碼

    Java實現(xiàn)抽獎算法的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用Java語言實現(xiàn)抽獎算法,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Java有一定幫助,需要的可以參考一下
    2022-04-04

最新評論