泛型和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的区别?的主要内容,如果未能解决你的问题,请参考以下文章

扩展类型的泛型和 Typescript 中的普通类型有啥区别?

C# 泛型和方法

编写高质量代码:改善Java程序的151个建议(第7章:泛型和反射___建议98~101)

泛型和枚举

泛型和枚举

为字符串对象属性定义类型。泛型和显式类型之间的区别