小编Dee*_*osh的帖子

没有类型参数的 Java 泛型类实例化

在下面的代码中,如果我将 Generic 实例化为:

Generic gen=new Generic(1,2);
Run Code Online (Sandbox Code Playgroud)

那是没有类型参数,然后当我这样做时:

int a=gen.get_a();
Run Code Online (Sandbox Code Playgroud)

它不起作用并给出

要求:int 发现:Java.Lang.Object

ob.print()有效。所以当我这样做时:

int a=(Integer)gen.get_a();
Run Code Online (Sandbox Code Playgroud)

那么它的工作原理。那么,当没有传递类型参数时,擦除是否会替换TObject类型,因为T不能是原始类型?

public class Generic<T>
{
    T a;
    Generic(T a)
    {
        this.a=a;
    }
    void print()
    {
        System.out.print(a);
    }

    T get_a()
    {
        return a;
    }
}
Run Code Online (Sandbox Code Playgroud)

java generics

5
推荐指数
1
解决办法
3644
查看次数

标签 统计

generics ×1

java ×1