给出一个由于类型擦除而无法编译的Java代码示例

给出一个由于类型擦除而无法编译的Java代码示例,java,generics,type-erasure,Java,Generics,Type Erasure,泛型使用类型擦除在运行时删除类型,这就是我们在Java中实现参数多态性的方式,但我似乎无法给出由于类型擦除而无法编译的示例代码。任何建议都将不胜感激:)例如: public void method(Object o) { ... } public <T> void method(T t) { ... } 尝试创建一个泛型数组,如T[]array,其中T是泛型类型。public void type(){}使用类型擦除,这不会编译。尽管我很难理解为什么编译器会删除源代

泛型使用类型擦除在运行时删除类型,这就是我们在Java中实现参数多态性的方式,但我似乎无法给出由于类型擦除而无法编译的示例代码。任何建议都将不胜感激:)

例如:

public void method(Object o) {
    ...
}

public <T> void method(T t) {
    ...
}

尝试创建一个泛型数组,如
T[]array
,其中
T
是泛型类型。

public void type(){}
使用类型擦除,这不会编译。尽管我很难理解为什么编译器会删除源代码中字符串“type”的所有实例。不过,说真的,我们不是编码服务,也不是家庭作业生成器。
error: name clash: <T>method(T) and method(Object) have the same erasure
    public <T> void method(T t) {
                    ^
  where T is a type-variable:
    T extends Object declared in method <T>method(T)
1 error