做泛型类型param阴影引用类型? (Java)的

时间:2017-06-10 17:59:35

标签: java generics type-parameter reference-type shadowing

我们假设我们有以下情况:

public class SomeClass {

}

现在我们有一个类型参数SomeClass而不是T的泛型类。

public class GenericClass <SomeClass> {
    List<SomeClass> list;

    public GenericClass() {
         list = new ArrayList<>();
    }

    public void add(SomeClass obj) {
         list.add(obj);
    }
}

类型参数SomeClass是否会影响整个SomeClass中的引用数据类型GenericClass

2 个答案:

答案 0 :(得分:3)

即可。在此上下文中,这是名称阴影。您仍然可以使用完全限定的类名称消除歧义(只要您使用包,就像您应该的那样)。此外,对于使用常规类型的常规短类型名称,这是一个很好的论据。

答案 1 :(得分:2)

总之 - 是的,它会影响SomeClass。不过,你仍然可以使用完全限定的类名(例如com.exmaple.SomeClass)来引用它。