gpt4 book ai didi

java - 为非静态内部类实现有意义的 equals 方法

转载 作者:搜寻专家 更新时间:2023-10-31 20:34:26 27 4
gpt4 key购买 nike

<分区>

我目前想知道是否有一种好的方法可以在 Java 中为非静态内部类实现 equals 方法。我基本上是一个带有内部类 Bar 的类 Foo,如下所示:

public class Foo {

private final String foo; // constructor omitted

public /* non-static */ class Bar {

private final String bar; // constructor omitted

@Override
public boolean equals(Object other) {
return other != null && other.getClass() == getClass()
&& ((Bar) other).bar.equals(this.bar)
&& Foo.this.equals(Foo.((Bar) other)); // Will, of course, not compile.
}
}

@Override
public boolean equals(Object other) {
return other != null && other.getClass() == getClass()
&& ((Foo) other).foo.equals(foo);
}
}

我的类实际上要复杂得多,我想重用 Bar#equals 中的 Foo#equals 方法,以节省大量代码.我现在正在考虑明确表示“内部类关系”,以便能够引用“外部”类。但是,然后我必须手动添加访问器方法,我想避免这种情况。我总觉得应该有一种 Java 方法来完成这项工作。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com