Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何限制某些泛型类只接受整数?甚至不接受Double,只接受int值 { 公共静态void main(字符串[]args) { G a=新G(10.9); G b=新G(“你好”); G c=新的G(“地狱”); System.out.println(a.getObject());//打印10.9 System.out.println(b.getObject());//打印hello System.out.println(c.getObject());//打印地狱 } } G类{ 整数obj; G(整数obj) { obj=obj; } 公共整数getObject() { 返回此.obj; } }_Java_Generics_Type Conversion_Typecasting Operator - Fatal编程技术网

Java 如何限制某些泛型类只接受整数?甚至不接受Double,只接受int值 { 公共静态void main(字符串[]args) { G a=新G(10.9); G b=新G(“你好”); G c=新的G(“地狱”); System.out.println(a.getObject());//打印10.9 System.out.println(b.getObject());//打印hello System.out.println(c.getObject());//打印地狱 } } G类{ 整数obj; G(整数obj) { obj=obj; } 公共整数getObject() { 返回此.obj; } }

Java 如何限制某些泛型类只接受整数?甚至不接受Double,只接受int值 { 公共静态void main(字符串[]args) { G a=新G(10.9); G b=新G(“你好”); G c=新的G(“地狱”); System.out.println(a.getObject());//打印10.9 System.out.println(b.getObject());//打印hello System.out.println(c.getObject());//打印地狱 } } G类{ 整数obj; G(整数obj) { obj=obj; } 公共整数getObject() { 返回此.obj; } },java,generics,type-conversion,typecasting-operator,Java,Generics,Type Conversion,Typecasting Operator,在上面的代码中,只有在main方法中接受everytype时,才将G类作为Integer类型有什么用?如何实现G类只接受整数值,如果我输入双精度值,而只接受整数,则不转换为双精度值。像这样。如前所述,不要使用泛型。只需让构造函数只接受整数类型。如果添加setter,则只接受整数类型 { public static void main(String[] args) { G<Double> a=new G<Double>(10.9);

在上面的代码中,只有在main方法中接受everytype时,才将G类作为Integer类型有什么用?如何实现G类只接受整数值,如果我输入双精度值,而只接受整数,则不转换为双精度值。

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

{
    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;
    }
}

如果您只希望它使用
Integer
,为什么它需要是泛型的?只需使用
Integer
作为字段、参数和返回类型的类型。不要声明新的类型参数(尤其不要声明名为
Integer
,从
java.lang
隐藏
Integer
名称的参数)。如何使某些类严格接受整数?我的评论中的第二句和第三句解释了如何做到这一点。第二句和第三句***
class G {
    Integer obj;
    G(Integer obj)
    {
        this.obj=obj;
    }
    public Integer getObject()
    {
        return this.obj;
    }
}