相关疑难解决方法(0)

升级到Java 7后,泛型类的类型参数化字段将变为不可见

现在,带有内置Java 7支持的Eclipse Indigo SR1终于推出了一两个星期,我正在将我的游乐场项目从Helios SR2 + JDK 1.6_23迁移到Indigo SR1 + JDK 1.7.0.完全重建所有项目后,只有一个类无法编译.它是以下类,它在Java 1.6(和1.5)上编译和运行完全正常:

public abstract class Area<A extends Area<?>> implements Comparable<Area<?>> {

    private String name;
    private Area<?> parent;
    private Set<A> areas;

    protected Area(String name, A... areas) {
        this.name = name;
        this.areas = new TreeSet<A>();
        for (A area : areas) {
            area.parent = this;
            this.areas.add(area);
        }
    }

    public Set<A> getAreas() {
        return areas;
    }

    // ...
}
Run Code Online (Sandbox Code Playgroud)

该行area.parent = this;失败,出现以下错误parent:

字段Area <capture#1-of?>.parent不可见

在第一次怀疑Eclipse编译器之后,我尝试使用 …

java generics visibility java-7

44
推荐指数
1
解决办法
2297
查看次数

标签 统计

generics ×1

java ×1

java-7 ×1

visibility ×1