java泛型的问题
classGen<T>{privateTo;publicGen(Ta){this.o=a;}publicvoidshowTypeName(){System.out.pri...
class Gen<T>
{
private T o;
public Gen(T a)
{this.o=a;}
public void showTypeName()
{
System.out.println("类型是:"+o.getClass().getName());
}
}
Dog dog1=new Dog();
Dog dog2=new Dog();
Gen<Dog> gen1=new Gen<Dog>(dog1);
Gen gen2=new Gen(dog2);
gen1.showTypeName();
gen2.showTypeName();
两个都能输出数据类型,有什么区别?
Gen<Dog> gen1=new Gen<Dog>(dog1);
Gen gen2=new Gen(dog2);
这两有什么区别,第二个简单,为什么大家都用第一个。而且第二个系统会提示:
Multiple markers at this line
- Gen is a raw type. References to generic type Gen<T> should be
parameterized
- Type safety: The constructor Gen(Object) belongs to the raw type Gen.
References to generic type Gen<T> should be parameterized
- Line breakpoint:Demo2 [line: 21] - main(String[])
- Gen is a raw type. References to generic type Gen<T> should be
parameterized 展开
{
private T o;
public Gen(T a)
{this.o=a;}
public void showTypeName()
{
System.out.println("类型是:"+o.getClass().getName());
}
}
Dog dog1=new Dog();
Dog dog2=new Dog();
Gen<Dog> gen1=new Gen<Dog>(dog1);
Gen gen2=new Gen(dog2);
gen1.showTypeName();
gen2.showTypeName();
两个都能输出数据类型,有什么区别?
Gen<Dog> gen1=new Gen<Dog>(dog1);
Gen gen2=new Gen(dog2);
这两有什么区别,第二个简单,为什么大家都用第一个。而且第二个系统会提示:
Multiple markers at this line
- Gen is a raw type. References to generic type Gen<T> should be
parameterized
- Type safety: The constructor Gen(Object) belongs to the raw type Gen.
References to generic type Gen<T> should be parameterized
- Line breakpoint:Demo2 [line: 21] - main(String[])
- Gen is a raw type. References to generic type Gen<T> should be
parameterized 展开
7个回答
展开全部
如果指定了<Dog> 后面传进去的参数就只能是Dog类型如
Gen<Dog> gen1=new Gen<Dog>(dog1);
但不能传入其他类型,如 Gen<String> gen1=new Gen<String>(new String("test"));
如果没有指定<Dog>则可以传入任何类型如:
Gen gen2=new Gen(dog2);可以
Gen gen2=new Gen(new String("test"));也可以
Gen<Dog> gen1=new Gen<Dog>(dog1);
但不能传入其他类型,如 Gen<String> gen1=new Gen<String>(new String("test"));
如果没有指定<Dog>则可以传入任何类型如:
Gen gen2=new Gen(dog2);可以
Gen gen2=new Gen(new String("test"));也可以
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用泛型是规定在类内部的处理时,只用这一个类型,其他的不行。
算是规范一下传进来的参数,只针对一种类型进行处理。
算是规范一下传进来的参数,只针对一种类型进行处理。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
下面的方法有泛型的定义,意味着可以接受多种类型。你在上面里面填了string之后就可以运行,同样你填Integer也可以。也就是方法不知道你要传什么类型进来,他来者不拒。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
泛型的主要作用是在编译期 确保了数据的准确性,,避免运行期报错..
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我认为没区别。你给我十块钱和你快递给我十块钱没啥区别,当然快递费你付。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询