【发布时间】:2021-03-23 03:46:31
【问题描述】:
{
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;
}
}
在上面的代码中,只有当它接受 main 方法中的everytype 时,才将 G 类作为 Integer 类型有什么用?我如何实现那个 G 类只接受整数值,如果我输入 double 值但只接受整数,则不要转换为 Double。
【问题讨论】:
-
如果你只希望它使用
Integer,为什么它需要是通用的?只需使用Integer作为字段、参数和返回类型的类型。不要声明新的类型参数(尤其不是名为Integer的类型参数,将Integer名称与java.lang重叠)。 -
如何制作一些只严格接受整数的类?
-
我评论中的第二句和节俭的句子解释了如何做到这一点。
-
第二和第三***
标签: java generics type-conversion typecasting-operator