一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用LocalDate和LocalDateTime

Android編程精選 ? 來源:Android編程精選 ? 作者:Android編程精選 ? 2022-07-04 11:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

史蒂夫.喬布斯說,”復(fù)雜的終極境界是簡單“,同樣的優(yōu)雅的代碼一定是精簡明了,可讀性好。

使用LocalDate和LocalDateTime

LocalDate精確到日期,LocalDateTime精確到時分秒。優(yōu)化前14行代碼


	
  1. try {

  2. SimpleDateFormat sdfDay = new SimpleDateFormat("yyyy-MM-dd");

  3. SimpleDateFormat sdfMins = new SimpleDateFormat("yyyy-MM-dd HHss");

  4. Date now = new Date();

  5. String today = sdfDay.format(now);

  6. String waterStart = today + " 0300";

  7. String waterEnd = today + " 0400";

  8. Date waterStartTime = sdfMins.parse(waterStart);

  9. Date waterEndTime = sdfMins.parse(waterEnd);

  10. } catch (ParseException pe) {

  11. return XX;

  12. }

優(yōu)化后3行代碼


	
  1. LocalDateTime now = LocalDateTime.now();

  2. LocalDateTime waterStart = LocalDateTime.of(now.getYear(), now.getMonth(),now.getDayOfMonth(),3,0);

  3. LocalDateTime waterEndTime =LocalDateTime.of(now.getYear(), now.getMonth(),now.getDayOfMonth(),4,0);

默認值使用Optional

優(yōu)化前五行


	
  1. if (null == status) {

  2. param.put("status", new ArrayList<String>());

  3. } else {

  4. param.put("status", status);

  5. }

優(yōu)化后一行,使用JDK8的Optional


	
  1. Optional.ofNullable(status).orElse(new ArrayList<String>());

如果是字符串可以用


	
  1. StringUtils.defaultIfEmpty(status,"")

字符串累加

字符串只要不在for循環(huán)里累加,可以直接用+號,因為編譯成字節(jié)碼后會變成StringBuilder,如果在for循環(huán)里面用+號會生成多個StringBuilder,所以在for循環(huán)里累加最好在循環(huán)外創(chuàng)建StringBuilder。優(yōu)化前五行


	
  1. StringBuffer sblog = new StringBuffer();

  2. sblog.append("waterDriven|sellerId=");

  3. sblog.append(request.getSellerTaobaoId());

  4. sblog.append("|result=");

  5. sblog.append(isSuccess);

優(yōu)化后一行


	
  1. String sblog="waterDriven|sellerId="+request.getSellerTaobaoId()+"|result="+isSuccess;

以上場景用逗號和等號連接數(shù)據(jù),使用GUAVA的Joiner更精簡,可讀性更好


	
  1. String sblog=Joiner.on("|").withKeyValueSeparator("=").join(ImmutableMap.of("sellerId", request.getSellerTaobaoId(), "result", isSuccess))

LIST TO MAP

優(yōu)化前4行


	
  1. Map<String, String> AssetsMetaIdMap = Maps.newHashMap();

  2. for (AssetsInfoBO assetsInfoBO : request.getAssetsCollectionList()) {

  3. AssetsMetaIdMap.put(assetsInfoBO.getAssetMetadataId(), assetsInfoBO.getAssetMetadataId());

  4. }

優(yōu)化后1行


	
  1. Map<String, String> AssetsMetaIdMap = request.getAssetsCollectionList().stream().collect(Collectors.toMap(Hosting::getAssetMetadataId, Hosting::getAssetMetadataId));

如果key重復(fù)會拋出異常


	
  1. Exception in thread "main" java.lang.IllegalStateException: Duplicate key 80000

減少不需要的判斷

優(yōu)化前5行


	
  1. String requestId = null;

  2. if (null != request.getExtData()) {

  3. requestId = request.getExtDataValue(REQUEST_ID_KEY);

  4. }

  5. return requestId;

優(yōu)化后1行


	
  1. return request.getExtDataValue(REQUEST_ID_KEY);

去掉else

優(yōu)化前5行


	
  1. if (null != result && StringUtils.isNotBlank(no)) {

  2. return no;

  3. } else {

  4. throw new RuntimeException("XX");

  5. }

優(yōu)化后4行


	
  1. if (null != result && StringUtils.isNotBlank(no)) {

  2. return no;

  3. }

  4. throw new RuntimeException("XX");

不要返回布爾

優(yōu)化前5行


	
  1. if ("true".equalsIgnoreCase(value.toString())) {

  2. invoke = true;

  3. } else {

  4. invoke = false;

  5. }

優(yōu)化后一行


	
  1. invoke = "true".equalsIgnoreCase(value.toString());

使用級聯(lián)

優(yōu)化前5行


	
  1. ParamBO paramBO = new ParamBO();

  2. paramBO.setId(1);

  3. paramBO.setName(”ifeve“);

  4. paramBO.setOld(7);

優(yōu)化后1行


	
  1. new ParamBO().withId(1).withName("ifeve").withOld(7);

-End-

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70797
  • LOCA
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    7241

原文標題:幾個代碼瘦身優(yōu)化的案例

文章出處:【微信號:AndroidPush,微信公眾號:Android編程精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    詳解上海貝嶺16/24位高精度低功耗模數(shù)轉(zhuǎn)換器BL1090系列 最高速率達960SPS

    新品介紹 ? 上海貝嶺最新推出包含I2C和SPI接口的16/24位高精度低功耗模數(shù)轉(zhuǎn)換器BL1090系列。 該系列采用低功耗設(shè)計,最高速率為960SPS。常溫下,掉電模式功耗低至8 μA。連續(xù)轉(zhuǎn)換模式功耗為300 μA。內(nèi)置可編程增益放大器(PGA),可適配從±256 mV到±6.144 V的輸入范圍,從而實現(xiàn)高精度信號測量;內(nèi)置輸入多路復(fù)用器 (MUX),提供兩對差分輸入或四個單端輸入。此外BL1090系列集成了輸入緩沖器,降低驅(qū)動難度。 BL1090C16/?BL1090C24 系統(tǒng)框圖 BL1090S16/ BL1090S24 系統(tǒng)框圖
    的頭像 發(fā)表于 07-21 18:53 ?283次閱讀
    詳解上海貝嶺16/24位高精度低功耗模數(shù)轉(zhuǎn)換器BL1090系列 最高速率達960SPS

    Mesa Beam Lead PIN 二極管 skyworksinc

    電子發(fā)燒友網(wǎng)為你提供()Mesa Beam Lead PIN 二極管相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有Mesa Beam Lead PIN 二極管的引腳圖、接線圖、封裝手冊、中文資料、英文資料,Mesa Beam Lead PIN 二極管真值表,Mesa Beam Lead PIN 二極管管腳等資料,希望可以幫助到廣大的電子工程師們。
    發(fā)表于 07-21 18:36
    Mesa Beam Lead PIN 二極管 skyworksinc

    DSG9500-000: 平面光束引線 PIN 二極管 skyworksinc

    電子發(fā)燒友網(wǎng)為你提供()DSG9500-000: 平面光束引線 PIN 二極管相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有DSG9500-000: 平面光束引線 PIN 二極管的引腳圖、接線圖、封裝手冊、中文資料、英文資料,DSG9500-000: 平面光束引線 PIN 二極管真值表,DSG9500-000: 平面光束引線 PIN 二極管管腳等資料,希望可以幫助到廣大的電子工程師們。
    發(fā)表于 07-21 18:35
    DSG9500-000: 平面光束引線 PIN 二極管 skyworksinc

    鴻利智匯旗下佛達信號推出多模動態(tài)投影燈

    日前,鴻利智匯集團旗下子公司佛達信號全新推出多模動態(tài)投影燈,創(chuàng)新性地將電影放映原理融入車燈設(shè)計,用光影演繹安全警示與個性表達,重新定義人車交互邊界。
    的頭像 發(fā)表于 07-21 18:22 ?213次閱讀

    響應(yīng)零碳政策!安科瑞AcrelEMS 3.0微電網(wǎng)智慧能源管理系統(tǒng),助力零碳園區(qū)快速轉(zhuǎn)型

    01背景 在全球積極應(yīng)對氣候變化、我國全力推進 “雙碳” 目標的大背景下,零碳園區(qū)建設(shè)已成為實現(xiàn)綠色可持續(xù)發(fā)展的關(guān)鍵舉措。2024 年中央經(jīng)濟工作會議明確提出 “建立一批零碳園區(qū)”,工信部也將建設(shè)零碳工廠和零碳工業(yè)園區(qū)納入重點工作范疇,多地紛紛出臺相關(guān)政策推動園區(qū)低碳轉(zhuǎn)型: ①江蘇省開展碳達峰碳中和試點建設(shè): ②安徽省組織申報零碳園區(qū): ③廈門市開展工業(yè)園區(qū)綠色智慧微電網(wǎng)試點建設(shè): ④宿遷市推進零碳園區(qū)試點工作: 在此形
    的頭像 發(fā)表于 07-21 18:20 ?95次閱讀
    響應(yīng)零碳政策!安科瑞AcrelEMS 3.0微電網(wǎng)智慧能源管理系統(tǒng),助力零碳園區(qū)快速轉(zhuǎn)型

    破解碳中和難題:安科瑞發(fā)布智慧能碳管理平臺,賦能工業(yè)綠色轉(zhuǎn)型

    安科瑞 吳柯霓 13564678824(vx) 在"雙碳"戰(zhàn)略深入推進的背景下,碳配額約束和市場交易機制正加速重構(gòu)企業(yè)能源管理體系。"碳排放指標已經(jīng)成為與財務(wù)數(shù)據(jù)同等重要的決策依據(jù)。"某大型鋼鐵企業(yè)高管坦言。這一轉(zhuǎn)變折射出企業(yè)能源管理正經(jīng)歷從"合規(guī)導(dǎo)向"到"價值創(chuàng)造"的范式變革。 當前企業(yè)低碳轉(zhuǎn)型面臨三重困境:首先,能耗監(jiān)測體系存在明顯數(shù)據(jù)缺陷,傳統(tǒng)人工采集方式誤差率高達15%,且存在3-7天數(shù)據(jù)滯后;其次,減排決策缺乏量化支撐,90%的企業(yè)仍
    的頭像 發(fā)表于 07-21 18:18 ?105次閱讀
    破解碳中和難題:安科瑞發(fā)布智慧能碳管理平臺,賦能工業(yè)綠色轉(zhuǎn)型

    從觸覺屏到細胞分選:安泰電壓放大器實驗全景解析

    在各類研究所的精密實驗臺上,Aigtek功率放大器早已不只是“把信號變大”的簡單工具,而是決定實驗邊界與精度的關(guān)鍵支點。綜合最新公開案例與實測數(shù)據(jù),本文將其正在支撐的典型實驗場景做一次“全景掃描”。 圖:Aigtek功率放大器在激勵壓電材料中的實驗應(yīng)用 超聲世界的“聲畫筆” 在全場掃描式激光測振平臺上,ATA-3080功率放大器把正弦波推入玻璃基壓電片,產(chǎn)生1–4μm的穩(wěn)定振幅,進而調(diào)制指尖摩擦力,實現(xiàn)表面觸覺紋理的“憑空再現(xiàn)”,為下
    的頭像 發(fā)表于 07-21 18:07 ?83次閱讀
    從觸覺屏到細胞分選:安泰電壓放大器實驗全景解析

    LM5009系列 9.5-95V 寬 Vin、150mA 恒定導(dǎo)通時間非同步降壓穩(wěn)壓器數(shù)據(jù)手冊

    LM5009降壓開關(guān)穩(wěn)壓器具有實現(xiàn)低成本、高效降壓穩(wěn)壓器所需的所有功能。該器件能夠驅(qū)動來自9.5V至95V輸入源的150mA負載電流。開關(guān)頻率可以超過 600 kHz,具體取決于輸入和輸出電壓。輸出電壓可設(shè)置為 2.5 V 至 85 V。該高壓穩(wěn)壓器包含一個 N 溝道降壓開關(guān)和一個內(nèi)部啟動穩(wěn)壓器。該器件易于實現(xiàn),采用 8 引腳 VSSOP 和熱增強型 8 引腳 WSON 封裝。穩(wěn)壓器作基于使用與VIN成反比的導(dǎo)通時間的控制方案。此功能允許工作頻率在負載和輸入電壓變化范圍內(nèi)保持相對恒定。
    的頭像 發(fā)表于 07-21 18:03 ?213次閱讀
    LM5009系列 9.5-95V 寬 Vin、150mA 恒定導(dǎo)通時間非同步降壓穩(wěn)壓器數(shù)據(jù)手冊

    “科創(chuàng)新勢力重慶行”圓滿落幕,啟明云端詮釋技術(shù)-產(chǎn)品-場景新質(zhì)生產(chǎn)力轉(zhuǎn)化

    7月20日,“科創(chuàng)新勢力企業(yè)重慶行暨未來產(chǎn)業(yè)招商推介活動”在重慶悅來國際會議中心圓滿落幕。深圳市啟明云端科技有限公司受邀參展,攜自研產(chǎn)品RAIHA桌搭、賽博地平線及樂鑫科技旗下喵伴三款產(chǎn)品亮相,憑借前沿的技術(shù)融合與場景化設(shè)計,以差異化創(chuàng)新吸引政企代表、行業(yè)伙伴及媒體關(guān)注,展現(xiàn)了企業(yè)在新質(zhì)生產(chǎn)力領(lǐng)域的實踐成果。多元創(chuàng)新獲多方矚目展會上,啟明云端的三款產(chǎn)品吸引了
    的頭像 發(fā)表于 07-21 18:02 ?181次閱讀
    “科創(chuàng)新勢力重慶行”圓滿落幕,啟明云端詮釋技術(shù)-產(chǎn)品-場景新質(zhì)生產(chǎn)力轉(zhuǎn)化

    航宇新材推出PI型鋁基覆銅板

    隨著LED照明技術(shù)的飛速發(fā)展,終端客戶對MPCB的結(jié)構(gòu)設(shè)計提出了更高要求,比如需要折彎90°、120°乃至更復(fù)雜角度的立體折彎或其它異形設(shè)計,這要求鋁基覆銅板必須具備優(yōu)異的空間彎曲性能。
    的頭像 發(fā)表于 07-21 18:00 ?189次閱讀

    25W 功耗穩(wěn)跑 104TOPS!H2 加速卡:讓智能醫(yī)療設(shè)備的 AI 分析 “快又穩(wěn)”

    H2 加速卡的出現(xiàn),不僅解決了眾多智能設(shè)備廠商“算力不足、空間受限、穩(wěn)定性差”的三大難題,更通過醫(yī)療級可靠性設(shè)計與全鏈路服務(wù)支持,成為了設(shè)備廠商打造差異化產(chǎn)品的“秘密武器”。
    的頭像 發(fā)表于 07-21 18:00 ?85次閱讀
    25W 功耗穩(wěn)跑 104TOPS!H2 加速卡:讓智能醫(yī)療設(shè)備的 AI 分析 “快又穩(wěn)”

    圓柱電池自動分選機:全流程自動化檢測的革新之路

    在新能源產(chǎn)業(yè)快速發(fā)展的背景下,圓柱電池作為動力電池和儲能領(lǐng)域的核心組件,其生產(chǎn)效率與質(zhì)量把控至關(guān)重要。圓柱電池自動分選機的出現(xiàn),通過全流程自動化檢測技術(shù),為電池制造與分選環(huán)節(jié)提供了高效、精準的解決方案。 傳統(tǒng)電池分選依賴人工操作,存在效率低、誤差率高、數(shù)據(jù)追溯困難等問題。自動分選機通過集成機械、電子、軟件等多領(lǐng)域技術(shù),實現(xiàn)了從電池上料到分選的全流程自動化。設(shè)備啟動后,電池通過傳送帶或振動盤自動排列,依
    的頭像 發(fā)表于 07-21 17:59 ?101次閱讀

    SD卡—雷龍 SD NAND

    一、SD卡介紹 1.基本介紹 本質(zhì):nand flash + 控制芯片 1.SD卡 ,Secure Digital Card,稱為安全數(shù)字卡(安全數(shù)碼卡)。SD卡系列主要有三種:SD卡(full size)、MiniSD卡和MicroSD卡。 2.特點: 1.容量大 2.高安全性 3.體積小 4.傳輸速度快 5.接口簡單 32GB SD卡實際容量:32 * 10003 / (1024) 3 ≈ 29GB ? 3.SD卡存儲容量等級分為四個 : 注意:STM32默認最大支持32GB SD卡注意:STM32默認最大支持32GB SD卡 SDSC(Secure Digital Standard Capacity) SDHC(Secure Digital High Capacity ) SDXC(Secure Digital eXten
    的頭像 發(fā)表于 07-21 17:59 ?109次閱讀
    SD卡—雷龍 SD NAND

    藍海華騰變頻器助力印刷廠穩(wěn)產(chǎn)增效

    在上海某印刷廠里,一臺三電機龍門分切機從“上崗”至今,連續(xù)12年沒鬧過大脾氣——搭載的藍海華騰變頻器始終穩(wěn)定運行,成了設(shè)備高效運轉(zhuǎn)的“定海神針”。這背后,是技術(shù)實力與品質(zhì)堅守的雙重支撐,更是藍海華騰為印刷行業(yè)賦能的生動例證。
    的頭像 發(fā)表于 07-21 17:58 ?199次閱讀