2 u013179958 u013179958 于 2016.03.15 09:05 提问

在java中简写List,Map有什么坏处吗?

就像下面那样,在myeclipse里报警告,有什么坏处吗?

 List list = new ArrayList();

11个回答

Royal_lr
Royal_lr   Ds   Rxr 2016.03.15 09:18
已采纳

坏处就是你遍历list的时候,需要取出里面元素强转之后才能使用,,

luochoudan
luochoudan   Ds   Rxr 2016.03.15 09:20

(1)更严格的编译检查,避免编译异常。集合记不住它内部的元素类型,你加了泛型之后,它就知道要什么了,不是这样类型的,它异常给你看。
(2)不需要强制转型。有泛型能记住内部元素类型,取出时就不必强制转型。
(3)代码更简洁更健壮。
加了有这些好处,反之则是不可取之处。

diaoliwei2
diaoliwei2   Rxr 2016.03.15 09:11

搜索下不加泛型的的影响

willkinson
willkinson   2016.03.15 09:19

警告是警告没有加泛型吗?集合中的泛型主要是对放进集合的对象类型的规范,取出来的时候也可以不用强制转换,这样就不会报ClassCast的错误

bdmh
bdmh   Ds   Rxr 2016.03.15 09:24

低版本不兼容,如果想兼容最近的低版本,还是加上

QH_JAVA
QH_JAVA   2016.03.15 09:34

没添加泛型,简单的理解泛型的就是在开始的管的很严(必须要写类型)但后续很简单很方便(不用类型转化)

rui888
rui888   Ds   Rxr 2016.03.15 09:35

加上就明白你这个到底是什么类型的。

SoulFight
SoulFight   2016.03.15 09:53

真是的 加上又不会怀孕

dongfeng9ge
dongfeng9ge   Ds   Rxr 2016.03.15 10:35

没啥坏处,只要取值时类型强制转化就好

u013772876
u013772876   2016.03.15 10:56

通过在变量声明中捕获这一附加的类型信息,泛型允许编译器实施这些附加的类型约束。
类型错误现在就可以在编译时被捕获了,而不是在运行时当作ClassCastException展示出来。
将类型检查从运行时挪到编译时有助于您更容易找到错误,并可提高程序的可靠性。
· 消除强制类型转换。泛型的一个附带好处是,消除源代码中的许多强制类型转换。
这使得代码更加可读,并且减少了出错机会。
尽管减少强制类型转换可以降低使用泛型类的代码的罗嗦程度,但是声明泛型变量会带来相应的罗嗦

共11条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!