如何限制一些泛型类只接受整数?不接受double,只接受int值

mhd8tkvw  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(375)

这个问题在这里已经有答案了

以具体类型作为参数的java类(2个答案)
整数类型未按预期工作(java)(1个答案)
28天前关门了。

{
    public static void main(String[] args)
    {
        G<Double> a=new G<Double>(10.9);

        G<String> b=new G<String>("hello");

        G c=new G("hell");

        System.out.println(a.getObject()); // print 10.9
        System.out.println(b.getObject());   // print hello
        System.out.println(c.getObject());  // print hell

    }
}

class G<Integer> {
    Integer obj;
    G(Integer obj)
    {
        this.obj=obj;
    }
    public Integer getObject()
    {
        return this.obj;
    }
}

在上面的代码中,如果make g class只接受main方法中的everytype,那么它作为integer类型有什么用?如何实现g类只接受整数值,如果我只接受整数,而不转换为double值呢。

iezvtpos

iezvtpos1#

这样地。如前所述,不要使用泛型。只需让构造函数只接受整数类型。如果添加setter,则只接受整数类型。

class G {
    Integer obj;
    G(Integer obj)
    {
        this.obj=obj;
    }
    public Integer getObject()
    {
        return this.obj;
    }
}

相关问题