相关疑难解决方法(0)

如何在非静态内部类的另一个实例中引用外部类?

我正在使用Apache Commons EqualsBuilder为非静态Java内部类构建equals方法.例如:

import org.apache.commons.lang.builder.EqualsBuilder;

public class Foo {
    public class Bar {
        private Bar() {}

        public Foo getMyFoo() {
            return Foo.this
        }

        private int myInt = 0;

        public boolean equals(Object o) {
            if (o == null || o.getClass() != getClass) return false;

            Bar other = (Bar) o;
            return new EqualsBuilder()
                .append(getMyFoo(), other.getMyFoo())
                .append(myInt, other.myInt)
                .isEquals();
        }
    }

    public Bar createBar(...) {
        //sensible implementation
    }

    public Bar createOtherBar(...) {
        //another implementation
    }

    public boolean equals(Object o) {
        //sensible equals implementation …
Run Code Online (Sandbox Code Playgroud)

java syntax reference inner-classes

14
推荐指数
1
解决办法
4441
查看次数

标签 统计

inner-classes ×1

java ×1

reference ×1

syntax ×1