泛型和Object的区别?

Posted uzxin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了泛型和Object的区别?相关的知识,希望对你有一定的参考价值。

泛型声明

public <T> T doSomeThing(T t){
    return t;
}

Object声明

public Object doSomeThing(Object obj){
    return obj;
}

泛型引用

String result = doSomeThing("参数是String");

Object引用

String result = (String)doSomeThing("参数是String");

使用泛型,有2个好处:

1.不需要做强制类型转换

2.编译时更安全。如果使用Object类的话,你没法保证返回的类型一定是Foo,也许是其它类型。这时你就会在运行时得到一个类型转换异常(ClassCastException)

以上是关于泛型和Object的区别?的主要内容,如果未能解决你的问题,请参考以下文章