デフォルトのequalsメソッドを持つクラスが異なる メタオブジェクトメソッドのインスタンスを検出しました。それはなぜそうですか? 一見すると、メソッドオブジェクトは不変なので、最適ではないように見えます。Methodオブジェクトの複数のインスタンスが継承されたメソッド用である理由
class X {}
Method defaultM = Object.class.getMethod("equals", Object.class)
Method xMethod = X.class.getMethod("equals", Object.class)
xMethod != defaultM
xMethod.equals(defaultM)
私は理論的な理由はないと思っています。おそらく、その価格で実際に多くの改善をもたらす最適化ではないでしょう。 – biziclop
両方を文字列に変換しようとします。異なるクラスに属する場合は、文字列表現が異なる必要があります。 –
不変であるMethodオブジェクトは、それが最適ではないことと何が関係していますか? – EJP