加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

Java开发人员容易犯的9个错误

发布时间:2019-04-26 04:32:02 所属栏目:建站 来源:佚名
导读:择要 这是我认为java中较量常见的题目。假如您差异意任一部门,请留下您的评述。假如您能提出其余一些常见的错误,我将会很是谢谢。 1、Array转ArrayList 当必要把Array转成ArrayList的时辰,开拓职员常常这样做: Arrays.asList会返回一个ArrayList,可是

Java开拓职员最常犯的9个错误

功效打印:[b, d]

在上面这个要领中有一系列的题目,当一个元素被删除的时辰,list巨细减小,然后原先索引指向了其余元素。以是假如你想在轮回里通过索引来删除多个元素,将不会正确事变。

你大概知道行使迭代器是在轮回里删除元素的正确方法,或者你也知道foreach轮回跟迭代器很相同,但究竟环境却不是这样,如下代码:

Java开拓职员最常犯的9个错误

将抛出ConcurrentModificationException非常。

然而接下来的代码却是OK的:

Java开拓职员最常犯的9个错误

next要领必要在remove要领之前被挪用,在foreach轮回里,编译器会在删除元素操纵后挪用next要领,这导致了ConcurrentModificationException非常。

4、HashTable与HashMap

从算法的角度来讲,HashTable是一种数据布局名称。可是在Java中,这种数据布局叫做HashMap。HashTable与HashMap的一个首要的区别是HashTable是同步的,以是,凡是来说,你会行使HashMap,而不是Hashtable。

5、行使荟萃原始范例(raw type)

在Java中,原始范例(raw type)和无界通配符范例很轻易让人夹杂。举个Set的例子,Set是原始范例,而Set<?>是无界通配符范例。

请看如下代码,add要领行使了一个原始范例的List作为入参:

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读