什么是泛型,都有了object为什么还要有泛型?
no bb直接上代码
public class TypeTest {
public static void main(String[] args) {
A<B> a = new A<B>();
B b = new B();
B result = a.dosomething(b);//这样做的好处就是返回值直接可以是你定义的对应的那个对象类型
}
}
class A<T> {
public T dosomething(T t) {
return t;
}
}
class B {
}
到这里估计你还是没有理解,那咱们继续
public static void main(String[] args) {
C c=new C();
B b=new B();
C result = (C)c.dosomething(b);// 在这里如果是要调用的方法的话,不可能直接获得对应的类型的,需要做一下强制转换的
}
class B {
}
class C{
public Object dosomething(Object t) {
return t;
}
}
通过以上的例子说明了一点那就是,泛型主要是在编译和运行的时候是不会犯错的,但是如果是object的在做强制的转换的时候在运行的时候可能就是会出现一些对应的类型转换异常