最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java自定義equals產生的問題分析

 更新時間:2023年01月30日 11:33:15   作者:畢小寶  
這篇文章主要介紹了Java自定義equals時super.equals帶來的問題分析,總的來說這并不是一道難題,那為什么要拿出這道題介紹?拿出這道題真正想要傳達的是解題的思路,以及不斷優(yōu)化探尋最優(yōu)解的過程。希望通過這道題能給你帶來一種解題優(yōu)化的思路

Java自定義equals注意事項

對于需要用某業(yè)務主鍵判斷對象相等時,通常用 IDE 自動生成 equals 方法,選定特點的判斷字段。

但對于有父類的類來說,默認有一句調用比較坑:

public class Person extends ParentObject{
    private String id;
    private String name;
    private int age;
    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        if (!super.equals(o)) return false;
        Person person = (Person) o;
        return id.equals(person.id);
    }
    @Override
    public int hashCode() {
        return Objects.hash(super.hashCode(), id);
    }
}

if (!super.equals(o)) return false; 這一句默認的代碼,遭遇過兩次坑。例如這里的 Person 對象只需要根據 id 相等,就視為同一個對象,但是有了這句調用,執(zhí)行列表的 contains 方法始終返回 false,斷點找到了這個問題。

解決辦法:自定義具有父類的類的 equals 方法時,需要去掉這行。這個問題一碰到就感覺很熟悉,想起去年6月也遇到集合操作自定義對象判斷失敗的問題,所以斷點到了 super 調用返回 false 就知道問題所在了。

logback.xml配置maxFileSize單位問題

項目中的 logback.xml 配置文件,忘記了從哪里扒來的,本地測試時只關注控制臺日志,沒發(fā)現(xiàn)問題。部署測試機器后,發(fā)現(xiàn)異常信息沒有寫入到日志文件中,為什么呢?

日志文件生成策略是滾動達到文件最大值后新建文件,配置如下:

<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
    <maxFileSize>50M</maxFileSize>
</triggeringPolicy>

跟蹤過程,打開調試配置,在 logback.xml 中添加配置:<configuration debug="true">

啟動,查看日志插件的調試信息,異常提示 maxFileSize 屬性設置報錯了。調試到 logback-core 源碼中,發(fā)現(xiàn)文件大小的單位使用的是 gb/mb/kb,且不區(qū)分大小寫。修正文件大小配置為:

<maxFileSize>50MB</maxFileSize>

為什么以前沒有碰到過這個問題呢?因為以前的日志都是滾動按天生成的,這里拷貝過來的日志文件生成策略是按文件大小。這個配置有個好處,就是不會生成太多日志文件。

SpringCloud gateway項目引入druid

SpringCloud 的 gateway 項目是基于 Netty 的,與 Servlet 不相容。網關模塊中需要加入數(shù)據庫操作,引入 druid,常規(guī)的數(shù)據源配置報 Servlet 包相關的問題。

解決辦法是,關掉 spring.datasource.druid 的 stat-view-servlet 配置:

stat-view-servlet:
    enabled: false
    web-stat-filter:
      enabled: false

Shell編寫腳本

Shell 編寫腳本時,cd 命令切換到一個不存在的變量時,默認會到當前用戶的 HOME 目錄。

#!/sh
currentDir=$(cd `dirname $0`; pwd)
cd $currrentDir
echo `pwd`

這是常用的獲取當前執(zhí)行命令腳本的路徑,第三行切換路徑時,變量拼寫錯誤,導致切換到腳本目錄總是到了 /root ,這個低級錯誤,找了半天。

到此這篇關于Java自定義equals產生的問題分析的文章就介紹到這了,更多相關Java自定義equals內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 如何用ObjectMapper將復雜Map轉換為實體類

    如何用ObjectMapper將復雜Map轉換為實體類

    這篇文章主要介紹了如何用ObjectMapper將復雜Map轉換為實體類的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Java哈希表和有序表實例代碼講解

    Java哈希表和有序表實例代碼講解

    這篇文章主要介紹了Java哈希表和有序表,哈希表也稱散列表,是一種以鍵值對形式存儲記錄的數(shù)據結構,該數(shù)據結構支持根據鍵的內容直接訪問在內存特定位置的值,并且可以進行查找、添加和刪除操作
    2023-04-04
  • Java命令設計模式詳解

    Java命令設計模式詳解

    這篇文章主要為大家詳細介紹了Java命令設計模式,對命令設計模式進行分析理解,感興趣的小伙伴們可以參考一下
    2016-02-02
  • IDEA中創(chuàng)建maven項目webapp目錄無法識別即未被標識的解決辦法

    IDEA中創(chuàng)建maven項目webapp目錄無法識別即未被標識的解決辦法

    在學習SpringMVC課程中,基于IDEA新建maven項目模塊后,webapp目錄未被標識,即沒有小藍點的圖標顯示,所以本文給大家介紹了IDEA中創(chuàng)建maven項目webapp目錄無法識別即未被標識的解決辦法,需要的朋友可以參考下
    2024-03-03
  • java設計模式--建造者模式詳解

    java設計模式--建造者模式詳解

    這篇文章主要介紹了Java設計模式之建造者模式,結合具體實例形式分析了建造者模式的概念、原理、實現(xiàn)方法與相關使用注意事項,需要的朋友可以參考下
    2021-07-07
  • 使用IDEA如何導入SpringBoot項目

    使用IDEA如何導入SpringBoot項目

    這篇文章主要介紹了使用IDEA如何導入SpringBoot項目問題,具有很好的參考價值,希望對大家有所幫助,
    2023-12-12
  • Hibernate框架數(shù)據分頁技術實例分析

    Hibernate框架數(shù)據分頁技術實例分析

    這篇文章主要介紹了Hibernate框架數(shù)據分頁技術,結合實例形式分析了Hibernate框架實現(xiàn)數(shù)據分頁的原理,步驟與相關實現(xiàn)技巧,需要的朋友可以參考下
    2016-03-03
  • 利用java+mysql遞歸實現(xiàn)拼接樹形JSON列表的方法示例

    利用java+mysql遞歸實現(xiàn)拼接樹形JSON列表的方法示例

    這篇文章主要給大家介紹了關于利用java+mysql遞歸實現(xiàn)拼接樹形JSON列表的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面跟著小編來一起看看吧。
    2017-08-08
  • 學習Java九大內置對象

    學習Java九大內置對象

    學習Java九大內置對象,從現(xiàn)在開始,希望大家可以通過這篇文章可以真正的理解Java九大內置對象,感興趣的朋友可以參考一下
    2016-05-05
  • 詳解Java泛型及其應用

    詳解Java泛型及其應用

    這篇文章主要介紹了Java泛型及其應用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04

最新評論

恩施市| 乡宁县| 德江县| 武汉市| 吴旗县| 白水县| 桂东县| 大庆市| 桂林市| 潮州市| 凤台县| 富裕县| 武安市| 盖州市| 台东市| 贡山| 清苑县| 南充市| 林芝县| 博野县| 五家渠市| 吕梁市| 石家庄市| 栾城县| 新源县| 涪陵区| 丽江市| 梁平县| 尖扎县| 赤峰市| 库车县| 大厂| 射阳县| 昌乐县| 稻城县| 宜宾市| 大兴区| 喀什市| 叙永县| 衡山县| 淮滨县|