中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

做logo有哪些網(wǎng)站推廣服務(wù)公司

做logo有哪些網(wǎng)站,推廣服務(wù)公司,湖北權(quán)威的百度推廣,開封企業(yè)網(wǎng)站建設(shè)?Java Builder模式:是Java設(shè)計(jì)模式之一,它屬于對(duì)象創(chuàng)建型模式,是將一個(gè)復(fù)雜對(duì)象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示。 結(jié)論一:使用lombok的Data和Builder注解構(gòu)建Java類的Builder簡(jiǎn)潔高效&am…

?Java Builder模式:是Java設(shè)計(jì)模式之一,它屬于對(duì)象創(chuàng)建型模式,是將一個(gè)復(fù)雜對(duì)象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示。

結(jié)論一:使用lombok的@Data和@Builder注解構(gòu)建Java類的Builder簡(jiǎn)潔高效,推薦實(shí)際應(yīng)用。
結(jié)論二:手動(dòng)編寫Java類的Builder,能夠全貌理解Builder模式,推薦試試。
結(jié)論三:Java類的Builder模式,最大好處就是構(gòu)建對(duì)象時(shí),可以靈活構(gòu)建需要的屬性。

目錄

      • 1.1普通Java類.
        • 1.1.1普通Java對(duì)象
      • 1.2普通Java類使用@Data注解
        • 1.2.1普通Java類
      • 1.3手動(dòng)編寫Java類的Builder(靜態(tài)內(nèi)部類)
        • 1.3.1手動(dòng)編寫Java類的Builder
        • 1.3.2代碼中的getCityInfoSuccess和getCityInfoFail是對(duì)builder封裝使用
      • 1.4使用lombok的@Data和@Builder注解構(gòu)建Java對(duì)象的Builder
        • 1.4.1使用@Data和@Builder注解
        • 1.4.2代碼中的getCityInfoSuccess和getCityInfoFail是對(duì)builder封裝使用
      • 1.5普通Jave類和Builder類分開
        • 1.5.1普通Java類
        • 1.5.2普通Java類的Builder類
      • 1.6測(cè)試

1.1普通Java類.

1.1.1普通Java對(duì)象

普通Java類,一般有屬性、set、get、toString方法。

public class City01Response implements Serializable {private boolean success;private String msg;private Long cityId;private String cityName;private String cityDescribe;public City01Response() {}public boolean isSuccess() {return success;}public void setSuccess(boolean success) {this.success = success;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}public Long getCityId() {return cityId;}public void setCityId(Long cityId) {this.cityId = cityId;}public String getCityName() {return cityName;}public void setCityName(String cityName) {this.cityName = cityName;}public String getCityDescribe() {return cityDescribe;}public void setCityDescribe(String cityDescribe) {this.cityDescribe = cityDescribe;}@Overridepublic String toString() {return "City01Response(" + "success=" + success + ", msg=" + msg + ", cityId=" + cityId + ", cityName=" + cityName + ", cityDescribe=" + cityDescribe + ")";}
}

1.2普通Java類使用@Data注解

1.2.1普通Java類

使用@Data注解后,普通Java類,只有屬性。set、get、toString方法由@Data注解接管。使用方式等價(jià)。

@Data
public class City01Response implements Serializable {private boolean success;private String msg;private Long cityId;private String cityName;private String cityDescribe;
}

1.3手動(dòng)編寫Java類的Builder(靜態(tài)內(nèi)部類)

1.3.1手動(dòng)編寫Java類的Builder

本例內(nèi)部類使用靜態(tài)類實(shí)現(xiàn),build使用靜態(tài)方法。
普通Java類:City02Response
(1)編寫普通Java類:City02Response,一般有屬性、set、get、toString方法。
(2)在普通Java類:City02Response中,編寫一個(gè)內(nèi)部類:City02ResponseBuilder。
(3)在普通Java類:City02Response中,實(shí)現(xiàn)一個(gè)builder方法,創(chuàng)建一個(gè)內(nèi)部類City02ResponseBuilder的對(duì)象。
(4)在內(nèi)部類:City02ResponseBuilder中,實(shí)現(xiàn)一個(gè)build方法,返回普通Java類:City02Response的對(duì)象。
(5)在內(nèi)部類:City02ResponseBuilder中。為每個(gè)屬性實(shí)現(xiàn)一個(gè)設(shè)置方法,并且返回City02ResponseBuilder對(duì)象本身,即返回this。

public class City02Response implements Serializable {private boolean success;private String msg;private Long cityId;private String cityName;private String cityDescribe;public static City02Response.City02ResponseBuilder builder() {return new City02Response.City02ResponseBuilder();}public static City02Response getCityInfoSuccess(Long cityID, String cityName, String cityDescribe) {return builder().success(true).msg("獲取城市信息成功").cityId(cityID).cityName(cityName).cityDescribe(cityDescribe).build();}public static City02Response getCityInfoFail(Long cityID, String failMsg) {return builder().success(false).msg(failMsg).cityId(cityID).build();}public City02Response() {}public City02Response(boolean success, String msg, Long cityId, String cityName, String cityDescribe) {this.success = success;this.msg = msg;this.cityId = cityId;this.cityName = cityName;this.cityDescribe = cityDescribe;}@Overridepublic String toString() {return "City02Response(" + "success=" + success + ", msg=" + msg + ", cityId=" + cityId + ", cityName=" + cityName + ", cityDescribe=" + cityDescribe + ")";}public boolean isSuccess() {return success;}public void setSuccess(boolean success) {this.success = success;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}public Long getCityId() {return cityId;}public void setCityId(Long cityId) {this.cityId = cityId;}public String getCityName() {return cityName;}public void setCityName(String cityName) {this.cityName = cityName;}public String getCityDescribe() {return cityDescribe;}public void setCityDescribe(String cityDescribe) {this.cityDescribe = cityDescribe;}public static class City02ResponseBuilder {private boolean success;private String msg;private Long cityId;private String cityName;private String cityDescribe;City02ResponseBuilder() {}public City02Response build() {return new City02Response(success, msg, cityId, cityName, cityDescribe);}public City02Response.City02ResponseBuilder success(final boolean success) {this.success = success;return this;}public City02Response.City02ResponseBuilder msg(final String msg) {this.msg = msg;return this;}public City02Response.City02ResponseBuilder cityId(final Long cityId) {this.cityId = cityId;return this;}public City02Response.City02ResponseBuilder cityName(final String cityName) {this.cityName = cityName;return this;}public City02Response.City02ResponseBuilder cityDescribe(final String cityDescribe) {this.cityDescribe = cityDescribe;return this;}@Overridepublic String toString() {return "City02ResponseBuilder.City02Response(" + "success=" + success + ", msg=" + msg + ", cityId=" + cityId + ", cityName=" + cityName + ", cityDescribe=" + cityDescribe + ")";}}
}

1.3.2代碼中的getCityInfoSuccess和getCityInfoFail是對(duì)builder封裝使用

代碼中的getCityInfoSuccess和getCityInfoFail是對(duì)builder封裝應(yīng)用。不是必須部分。

1.4使用lombok的@Data和@Builder注解構(gòu)建Java對(duì)象的Builder

1.4.1使用@Data和@Builder注解

使用@Data和@Builder注解,簡(jiǎn)化代碼,效果等價(jià)。需引入jar包。

<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.24</version>
</dependency>
@Data
@Builder
public class City03Response implements Serializable {private boolean success;private String msg;private Long cityId;private String cityName;private String cityDescribe;public static City03Response getCityInfoSuccess(Long cityID, String cityName, String cityDescribe) {return builder().success(true).msg("獲取城市信息成功").cityId(cityID).cityName(cityName).cityDescribe(cityDescribe).build();}public static City03Response getCityInfoFail(Long cityID, String failMsg) {return builder().success(false).msg(failMsg).cityId(cityID).build();}
}

1.4.2代碼中的getCityInfoSuccess和getCityInfoFail是對(duì)builder封裝使用

代碼中的getCityInfoSuccess和getCityInfoFail是對(duì)builder封裝應(yīng)用。不是必須部分。

1.5普通Jave類和Builder類分開

1.5.1普通Java類
public class City04Response {private boolean success;private String msg;private Long cityId;private String cityName;private String cityDescribe;public City04Response(boolean success, String msg, Long cityId, String cityName, String cityDescribe) {this.success = success;this.msg = msg;this.cityId = cityId;this.cityName = cityName;this.cityDescribe = cityDescribe;}public boolean isSuccess() {return success;}public void setSuccess(boolean success) {this.success = success;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}public Long getCityId() {return cityId;}public void setCityId(Long cityId) {this.cityId = cityId;}public String getCityName() {return cityName;}public void setCityName(String cityName) {this.cityName = cityName;}public String getCityDescribe() {return cityDescribe;}public void setCityDescribe(String cityDescribe) {this.cityDescribe = cityDescribe;}@Overridepublic String toString() {return "City04Response(" + "success=" + success + ", msg=" + msg + ", cityId=" + cityId + ", cityName=" + cityName + ", cityDescribe=" + cityDescribe + ")";}
}

1.5.2普通Java類的Builder類
public class City04ResponseBuilder implements Serializable {private boolean success;private String msg;private Long cityId;private String cityName;private String cityDescribe;public City04ResponseBuilder setSuccess(boolean success) {this.success = success;return this;}public City04ResponseBuilder setMsg(String msg) {this.msg = msg;return this;}public City04ResponseBuilder setCityId(Long cityId) {this.cityId = cityId;return this;}public City04ResponseBuilder setCityName(String cityName) {this.cityName = cityName;return this;}public City04ResponseBuilder setCityDescribe(String cityDescribe) {this.cityDescribe = cityDescribe;return this;}public City04Response build() {return new City04Response(success, msg, cityId, cityName, cityDescribe);}
}

1.6測(cè)試

public class UseBuildUtils {public static void main(String[] args) {City02Response city02Response;System.out.println("原生的Builder的Java對(duì)象,City02Response的Builder使用:");city02Response = City02Response.builder().success(true).msg("獲取城市信息成功").cityId(20230328L).cityName("杭州").cityDescribe("杭州是一個(gè)互聯(lián)網(wǎng)城市").build();System.out.println("City02Response直接使用builder: " +city02Response.toString());city02Response = City02Response.getCityInfoSuccess(20230328L, "杭州", "杭州是一個(gè)互聯(lián)網(wǎng)城市");System.out.println("City02Response獲取成功: " +city02Response.toString());city02Response = City02Response.getCityInfoFail(20230328L, "網(wǎng)絡(luò)異常,無法獲取信息");System.out.println("City02Response獲取失敗: " +city02Response.toString());City03Response city03Response;System.out.println("基于注解@Data和@Builder的Java對(duì)象,city03Response的Builder使用:");city03Response = City03Response.builder().success(true).msg("獲取城市信息成功").cityId(20230328L).cityName("蘇州").cityDescribe("工業(yè)城市").build();System.out.println("city03Response直接使用builder: " +city03Response.toString());city03Response = City03Response.getCityInfoSuccess(20230328L, "蘇州", "工業(yè)城市");System.out.println("city03Response獲取成功: " +city03Response.toString());city03Response = City03Response.getCityInfoFail(20230328L, "網(wǎng)絡(luò)異常,無法獲取信息");System.out.println("city03Response獲取失敗: " +city03Response.toString());System.out.println("普通Java類和Builder類分開場(chǎng)景的Builder使用:");City04Response city04Response = new City04ResponseBuilder().setSuccess(true).setMsg("獲取城市信息成功").setCityId(20230328L).setCityName("寧波").setCityDescribe("港口城市").build();System.out.println("city04Response獲取成功:"+city04Response.toString());}
}

原生的Builder的Java對(duì)象,City02Response的Builder使用:
City02Response直接使用builder: City02Response(success=true, msg=獲取城市信息成功, cityId=20230328, cityName=杭州, cityDescribe=杭州是一個(gè)互聯(lián)網(wǎng)城市)
City02Response獲取成功: City02Response(success=true, msg=獲取城市信息成功, cityId=20230328, cityName=杭州, cityDescribe=杭州是一個(gè)互聯(lián)網(wǎng)城市)
City02Response獲取失敗: City02Response(success=false, msg=網(wǎng)絡(luò)異常,無法獲取信息, cityId=20230328, cityName=null, cityDescribe=null)

基于注解@Data和@Builder的Java對(duì)象,city03Response的Builder使用:
city03Response直接使用builder: City03Response(success=true, msg=獲取城市信息成功, cityId=20230328, cityName=蘇州, cityDescribe=工業(yè)城市)
city03Response獲取成功: City03Response(success=true, msg=獲取城市信息成功, cityId=20230328, cityName=蘇州, cityDescribe=工業(yè)城市)
city03Response獲取失敗: City03Response(success=false, msg=網(wǎng)絡(luò)異常,無法獲取信息, cityId=20230328, cityName=null, cityDescribe=null)

普通Java類和Builder類分開場(chǎng)景的Builder使用:
city04Response獲取成功:City04Response(success=true, msg=獲取城市信息成功, cityId=20230328, cityName=寧波, cityDescribe=港口城市)

http://www.risenshineclean.com/news/8231.html

相關(guān)文章:

  • 網(wǎng)站域名服務(wù)器查詢百度知道提問
  • 千萬不能 網(wǎng)站市場(chǎng)調(diào)研怎么寫
  • 四川遂寧做網(wǎng)站的公司武漢網(wǎng)站建設(shè)推廣公司
  • 程序員為什么不敢創(chuàng)業(yè)做網(wǎng)站關(guān)鍵詞優(yōu)化好
  • 南陽企業(yè)網(wǎng)站推廣方法最近重大新聞?lì)^條
  • 揚(yáng)中熱線論壇appsem和seo是什么
  • 72建站網(wǎng)吉林網(wǎng)站推廣公司
  • 利于優(yōu)化的網(wǎng)站怎么讓網(wǎng)站排名上去
  • 網(wǎng)站建設(shè) 學(xué)生作業(yè)seo點(diǎn)擊排名器
  • 做美食軟件視頻網(wǎng)站有哪些正在播網(wǎng)球比賽直播
  • 做胃鏡多少錢天津津門網(wǎng)站I有域名了怎么建立網(wǎng)站
  • 南寧做網(wǎng)站公司cilimao磁力貓
  • 網(wǎng)站建設(shè)插入圖片怎么加快速優(yōu)化工具
  • 網(wǎng)站友好度百度網(wǎng)盤app下載安裝官方免費(fèi)版
  • 購物網(wǎng)站成品蘭州網(wǎng)絡(luò)推廣優(yōu)化服務(wù)
  • 公益網(wǎng)站怎么做廣州seo網(wǎng)絡(luò)培訓(xùn)課程
  • 嘉興網(wǎng)站搜索優(yōu)化成都最新動(dòng)態(tài)
  • 淄博外貿(mào)網(wǎng)站建設(shè)公司hao123影視
  • 極速微網(wǎng)站建設(shè)cms如何做網(wǎng)絡(luò)推廣
  • 健身網(wǎng)站怎么做直通車關(guān)鍵詞優(yōu)化口訣
  • 做管理信息的網(wǎng)站嗎優(yōu)化網(wǎng)站推廣網(wǎng)站
  • 手機(jī)網(wǎng)站建設(shè)的教程視頻南昌seo排名
  • 大連關(guān)鍵詞優(yōu)化服務(wù)怎么快速優(yōu)化網(wǎng)站排名
  • 專業(yè)的建設(shè)網(wǎng)站百度指數(shù)查詢官網(wǎng)入口登錄
  • 學(xué)網(wǎng)站開發(fā)的軟件有哪些微信群推廣網(wǎng)站
  • 無錫網(wǎng)站建設(shè)哪家做得比較好宜昌今日頭條新聞
  • 個(gè)人網(wǎng)站做接口可以么搜索網(wǎng)頁
  • 溫州有沒有專門的企業(yè)網(wǎng)站最近幾天發(fā)生的新聞大事
  • 閩清住房和城鄉(xiāng)建設(shè)局網(wǎng)站制作鏈接的小程序
  • 程序員就是做網(wǎng)站的嗎百度指數(shù)查詢官網(wǎng)入口登錄