女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

使用LocalDate和LocalDateTime

Android編程精選 ? 來源:Android編程精選 ? 作者:Android編程精選 ? 2022-07-04 11:34 ? 次閱讀

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

使用LocalDate和LocalDateTime

LocalDate精確到日期,LocalDateTime精確到時分秒。優化前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. }

優化后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

優化前五行


	
  1. if (null == status) {

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

  3. } else {

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

  5. }

優化后一行,使用JDK8的Optional


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

如果是字符串可以用


	
  1. StringUtils.defaultIfEmpty(status,"")

字符串累加

字符串只要不在for循環里累加,可以直接用+號,因為編譯成字節碼后會變成StringBuilder,如果在for循環里面用+號會生成多個StringBuilder,所以在for循環里累加最好在循環外創建StringBuilder。優化前五行


	
  1. StringBuffer sblog = new StringBuffer();

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

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

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

  5. sblog.append(isSuccess);

優化后一行


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

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


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

LIST TO MAP

優化前4行


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

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

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

  4. }

優化后1行


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

如果key重復會拋出異常


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

減少不需要的判斷

優化前5行


	
  1. String requestId = null;

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

  3. requestId = request.getExtDataValue(REQUEST_ID_KEY);

  4. }

  5. return requestId;

優化后1行


	
  1. return request.getExtDataValue(REQUEST_ID_KEY);

去掉else

優化前5行


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

  2. return no;

  3. } else {

  4. throw new RuntimeException("XX");

  5. }

優化后4行


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

  2. return no;

  3. }

  4. throw new RuntimeException("XX");

不要返回布爾

優化前5行


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

  2. invoke = true;

  3. } else {

  4. invoke = false;

  5. }

優化后一行


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

使用級聯

優化前5行


	
  1. ParamBO paramBO = new ParamBO();

  2. paramBO.setId(1);

  3. paramBO.setName(”ifeve“);

  4. paramBO.setOld(7);

優化后1行


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

-End-

審核編輯 :李倩


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

    關注

    30

    文章

    4888

    瀏覽量

    70274
  • LOCA
    +關注

    關注

    0

    文章

    11

    瀏覽量

    7225

原文標題:幾個代碼瘦身優化的案例

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    關于“車圈恒大”,比亞迪回應

    電子發燒友網綜合報道 6月8日,比亞迪集團品牌及公關處總經理李云飛在微博發文回應“常壓油箱”“車圈恒大”兩大爭議問題。 ? 關于“常壓油箱”,李云飛稱,中國PHEV技術及標準走在世界前列,這與早期多家中國汽車品牌研發持續投入,多種動力技術路線和排放合規路線的探索與實踐密不可分。我們2021-2023年采用的常壓油箱方案,符合法規要求。對于PHEV車型長期純電行駛的車輛,每隔一周左右,通過啟動發動機運轉3~5分鐘,燃燒碳罐內吸附的燃油
    的頭像 發表于 06-10 00:11 ?289次閱讀
    關于“車圈恒大”,比亞迪回應

    AI芯片大賺44億美元!博通Q2營收創新高,凈利潤大增134%

    電子發燒友原創 章鷹 6月5日,美國博通公司公布了2025年第二財季的財報,博通公司第二財季營收達到150.04億美元,比去年同期增長20%,創歷史新高。凈利潤49.65億美元,同比增長134%。 博通公司總部位于美國加利福尼亞洲,這家公司憑借著ASIC定制芯片和網絡技術,在AI領域形成差異化競爭優勢。它的網絡芯片包括以太網交換機、路由器、Wi-Fi和藍牙芯片,而且在人工智能領域,博通也推出了有競爭力的產品。 據悉,博通推出了一款突破性的人工智能芯片
    的頭像 發表于 06-10 00:10 ?1174次閱讀
    AI芯片大賺44億美元!博通Q2營收創新高,凈利潤大增134%

    接近物理極限!10kV SiC MOSFET新進展

    電子發燒友網綜合報道 最近在第37屆國際功率半導體器件和集成電路研討會(ISPSD?2025)上,瞻芯電子與浙江大學以大會全體報告的形式聯合發表了10kV等級SiC MOSFET的最新研究成果。 ? 10kV等級SiC MOSFET器件在下一代智能電網、高壓大容量功率變換系統等領域有廣闊的應用場景。在智能電網中,10kV SiC MOSFET可用于固態變壓器、柔性交流輸電、柔性直流輸電、高壓直流輸電及配電系統等應用方面。它可以突破硅基功率器件在大電壓、高功率、高溫度方面的限制
    的頭像 發表于 06-10 00:09 ?1066次閱讀
    接近物理極限!10kV SiC MOSFET新進展

    人形機器人遇阻?特斯拉“擎天柱”項目負責人離職

    電子發燒友網報道(文/李彎彎)特斯拉“擎天柱”(Optimus)人形機器人項目負責人米蘭·科瓦奇(Milan Kovac)周五表示,他將離開公司。 ? 科瓦奇在X平臺上發文稱,“我不得不做出一生中最艱難的決定,我將離開我的職位。我離家太久了,需要花更多的時間和國外的家人在一起。”科瓦奇稱,這是“唯一的原因,與其他任何事情都無關”,他對特斯拉創始人馬斯克及其團隊的支持堅如磐石,他的離開不會改變任何事情。 ? ? 科瓦奇于2016年加入特斯拉,在公
    的頭像 發表于 06-10 00:07 ?900次閱讀
    人形機器人遇阻?特斯拉“擎天柱”項目負責人離職

    英偉達H100即將上天!可運轉簡化大模型

    電子發燒友網報道(文 / 吳子鵬)“算力上天” 是指將數據中心、計算設備等算力基礎設施部署到太空環境中,其核心目標是推動數據處理模式從 “天數地算” 向 “天數天算” 轉變,實現數據的近源處理。即在探測器附近或太空中轉節點(如衛星、空間站)實時分析數據,并快速反饋決策,從而提升任務效率和成功率。 ? 北京時間 5 月 14 日 12 時 12 分,我國在酒泉衛星發射中心使用長征二號丁運載火箭,成功將國星宇航研發的太空計算星座 “021”
    的頭像 發表于 06-10 00:05 ?1083次閱讀

    什么是SD卡、TF卡寫保護?寫保護的常見原因

    部分SD卡、TF卡適配器或卡套上設有物理寫保護開關,當開關滑動到"鎖定"位置時,卡片會自動進入寫保護狀態。這是最常見也是最容易解決的寫保護原因。
    的頭像 發表于 06-10 00:00 ?51次閱讀
    什么是SD卡、TF卡寫保護?寫保護的常見原因

    軟通動力與Qualsen(高勘技術)達成戰略合作,打造通信行業“啞資源”智能管理新模式

    近日,軟通動力與高勘(廣州)技術有限公司(以下簡稱“高勘”)在廣州正式簽署戰略合作協議。此次合作,雙方將圍繞運營商啞資源管理、光纖傳感技術合作、海內外市場拓展等領域展開深度合作,聯手推動通信行業啞資源管理邁向智能化新時代。軟通動力高級副總裁陳力銘、運營商智能終端與智能汽車事業群副總裁汪滔,高勘創始人兼首席技術官羅丁元、董事長兼總經理蔡俊出席戰略簽約儀式。 隨著全球通信網絡擴展,啞資源(即無法與網管系統
    的頭像 發表于 06-09 19:16 ?93次閱讀

    Texas Instruments LMH0044SQ/NOPB 自適應電纜均衡器的參數特性、EDA模型 數據手冊分享

    Texas Instruments LMH0044SQ/NOPB 自適應電纜均衡器的參數特性、EDA模型 數據手冊分享
    的頭像 發表于 06-09 19:14 ?71次閱讀
    Texas Instruments LMH0044SQ/NOPB 自適應電纜均衡器的參數特性、EDA模型 數據手冊分享

    低噪聲放大器前端模塊,帶有 GPS/GNSS 預濾波器 skyworksinc

    電子發燒友網為你提供()低噪聲放大器前端模塊,帶有 GPS/GNSS 預濾波器相關產品參數、數據手冊,更有低噪聲放大器前端模塊,帶有 GPS/GNSS 預濾波器的引腳圖、接線圖、封裝手冊、中文資料、英文資料,低噪聲放大器前端模塊,帶有 GPS/GNSS 預濾波器真值表,低噪聲放大器前端模塊,帶有 GPS/GNSS 預濾波器管腳等資料,希望可以幫助到廣大的電子工程師們。
    發表于 06-09 18:33
    低噪聲放大器前端模塊,帶有 GPS/GNSS 預濾波器 skyworksinc

    適用于 WCDMA / LTE 頻段 26、8、12、20、13 和 GSM/EDGE 850/900 MHz 的 SkyOne? Ultra 前端模塊 skyworksinc

    電子發燒友網為你提供()適用于 WCDMA / LTE 頻段 26、8、12、20、13 和 GSM/EDGE 850/900 MHz 的 SkyOne? Ultra 前端模塊相關產品參數、數據手冊,更有適用于 WCDMA / LTE 頻段 26、8、12、20、13 和 GSM/EDGE 850/900 MHz 的 SkyOne? Ultra 前端模塊的引腳圖、接線圖、封裝手冊、中文資料、英文資料,適用于 WCDMA / LTE 頻段 26、8、12、20、13 和 GSM/EDGE 850/900 MHz 的 SkyOne? Ultra 前端模塊真值表,適用于 WCDMA / LTE 頻段 26、8、12、20、13 和 GSM/EDGE 850/900 MHz 的 SkyOne? Ultra 前端模塊管腳等資料,希望可以幫助到廣大的電子工程師們。
    發表于 06-09 18:33
    適用于 WCDMA / LTE 頻段 26、8、12、20、13 和 GSM/EDGE 850/900 MHz 的 SkyOne? Ultra 前端模塊 skyworksinc

    用于四頻 GSM / GPRS / EDGE 的 SkyOne? 多模多頻 Tx 前端模塊 – WCDMA / HSPA / HSPA / LTE / CDMA skyworksinc

    電子發燒友網為你提供()用于四頻 GSM / GPRS / EDGE 的 SkyOne? 多模多頻 Tx 前端模塊 – WCDMA / HSPA / HSPA / LTE / CDMA相關產品參數、數據手冊,更有用于四頻 GSM / GPRS / EDGE 的 SkyOne? 多模多頻 Tx 前端模塊 – WCDMA / HSPA / HSPA / LTE / CDMA的引腳圖、接線圖、封裝手冊、中文資料、英文資料,用于四頻 GSM / GPRS / EDGE 的 SkyOne? 多模多頻 Tx 前端模塊 – WCDMA / HSPA / HSPA / LTE / CDMA真值表,用于四頻 GSM / GPRS / EDGE 的 SkyOne? 多模多頻 Tx 前端模塊 – WCDMA / HSPA / HSPA / LTE / CDMA管腳等資料,希望可以幫助到廣大的電子工程師們。
    發表于 06-09 18:32
    用于四頻 GSM / GPRS / EDGE 的 SkyOne? 多模多頻 Tx 前端模塊 – WCDMA / HSPA / HSPA / LTE / CDMA skyworksinc

    IOTE 2025上海智能傳感生態研討會 共同探討傳感器行業破局之道

    智能傳感器就像給傳統傳感器裝上了“大腦”和“嘴巴”,能感知環境還能自己思考說話。在增量市場里抓機會,說白了就是得盯著新冒出來的需求,用“更聰明”的本事卡住位。 咱們分三個層面嘮嘮: 第一層:專挑剛需場景扎進去 增量市場大多是新行業或者傳統行業的升級需求,比如新能源車、智慧農業、醫療穿戴設備這些。智能傳感器得像“需求探測器”一樣,專門挑那些又痛又急的場景下手。 舉個例子:新能源車電池管理。傳統電池傳感器只能
    的頭像 發表于 06-09 18:32 ?45次閱讀

    低噪聲放大器前端模塊,帶有 GPS/GNSS/BDS 前濾波器和后置濾波器 skyworksinc

    電子發燒友網為你提供()低噪聲放大器前端模塊,帶有 GPS/GNSS/BDS 前濾波器和后置濾波器相關產品參數、數據手冊,更有低噪聲放大器前端模塊,帶有 GPS/GNSS/BDS 前濾波器和后置濾波器的引腳圖、接線圖、封裝手冊、中文資料、英文資料,低噪聲放大器前端模塊,帶有 GPS/GNSS/BDS 前濾波器和后置濾波器真值表,低噪聲放大器前端模塊,帶有 GPS/GNSS/BDS 前濾波器和后置濾波器管腳等資料,希望可以幫助到廣大的電子工程師們。
    發表于 06-09 18:31
    低噪聲放大器前端模塊,帶有 GPS/GNSS/BDS 前濾波器和后置濾波器 skyworksinc

    GNSS 低噪聲放大器前端模塊,帶有 GPS/GLONASS/BDS 前置濾波器和后置濾波器 skyworksinc

    電子發燒友網為你提供()GNSS 低噪聲放大器前端模塊,帶有 GPS/GLONASS/BDS 前置濾波器和后置濾波器相關產品參數、數據手冊,更有GNSS 低噪聲放大器前端模塊,帶有 GPS/GLONASS/BDS 前置濾波器和后置濾波器的引腳圖、接線圖、封裝手冊、中文資料、英文資料,GNSS 低噪聲放大器前端模塊,帶有 GPS/GLONASS/BDS 前置濾波器和后置濾波器真值表,GNSS 低噪聲放大器前端模塊,帶有 GPS/GLONASS/BDS 前置濾波器和后置濾波器管腳等資料,希望可以幫助到廣大的電子工程師們。
    發表于 06-09 18:30
    GNSS 低噪聲放大器前端模塊,帶有 GPS/GLONASS/BDS 前置濾波器和后置濾波器 skyworksinc

    用于四頻 GSM / GPRS / EDGE 的 Tx-Rx FEM,具有 6 個線性 TRx 開關端口和雙頻 TD-SCDMA skyworksinc

    電子發燒友網為你提供()用于四頻 GSM / GPRS / EDGE 的 Tx-Rx FEM,具有 6 個線性 TRx 開關端口和雙頻 TD-SCDMA相關產品參數、數據手冊,更有用于四頻 GSM / GPRS / EDGE 的 Tx-Rx FEM,具有 6 個線性 TRx 開關端口和雙頻 TD-SCDMA的引腳圖、接線圖、封裝手冊、中文資料、英文資料,用于四頻 GSM / GPRS / EDGE 的 Tx-Rx FEM,具有 6 個線性 TRx 開關端口和雙頻 TD-SCDMA真值表,用于四頻 GSM / GPRS / EDGE 的 Tx-Rx FEM,具有 6 個線性 TRx 開關端口和雙頻 TD-SCDMA管腳等資料,希望可以幫助到廣大的電子工程師們。
    發表于 06-09 18:29
    用于四頻 GSM / GPRS / EDGE 的 Tx-Rx FEM,具有 6 個線性 TRx 開關端口和雙頻 TD-SCDMA skyworksinc