亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 cglib 代理上覆蓋 equals

在 cglib 代理上覆蓋 equals

夢里花落0921 2023-06-04 15:26:52
我想使用 CGLIB 代理將我自己的可重用 equals() 方法添加到現有對象。這些對象不一定實現任何接口,我需要能夠將代理對象轉換為原始類(無需獲取代理的目標)。不幸的是,CGLIB 似乎實現了自己的 equals() 方法并確保只調用該方法:有一個私有靜態類 (EqualsInterceptor),其方法 intercept() 實現了合理的邏輯來比較代理對象。問題是這個方法最后將比較委托給目標對象:我需要重用一些目標類沒有實現的邏輯。使用標準代理,我能夠攔截對 equals() 方法的調用并執行我的邏輯。問題是這些代理不能轉換為原始類。看來只能在CGLIB庫中重寫一些類了。這似乎不是一個好主意。
查看完整描述

1 回答

?
慕桂英3389331

TA貢獻2036條經驗 獲得超8個贊

不,使用 cglib 是不可能的。

您可以使用另一個庫,例如 Byte Buddy,它允許您像任何其他方法一樣進行equals攔截。hashCode


查看完整回答
反對 回復 2023-06-04
  • 1 回答
  • 0 關注
  • 147 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號