首页 > IT职业 > IT职场 > 需避免:Java程序员最容易犯的10个错误!
人非圣贤,孰能无过。都说Java语言是一门简单的编程语言,基于C++演化而来,剔除了很多C++中的复杂特性,但这并不能保证Java程序员不会犯错。
在开发 Java 软件时可能会遇到许多类型的错误,但大多数可以避免。
陕西优就业 小编根据java开发人员在编码过程中容易忽视或经常出错的地方进行了整理,总结出Java程序员最常犯的10大错误,具有一定的参考借鉴价值,需要的朋友可以参考下。
1.将 Array 转换成 ArrayList 时出错
2.检查 array 里是否含有某个值时出错
3.遍历 list 移除元素时出错
4.用 Hashtable 还是用 HashMap
一般来说,算法中的 Hashtable 是一种常见的数据结构的名字。但是在 Java 中,这种数据结构的名字却是 HashMap,不是 Hashtable。Java 中 Hashtable 和 HashMap 的最重要的区别之一是 Hashtable 是同步的(synchronized)。因此大部分时候你不需要用 Hashtable,应该用 HashMap。
5. 直接使用 Collection 的原始类型时出错
在 Java 中,「原始类型」和「无限制通配符类型」很容易被搞混。
6.访问级别设置过高
很多开发者为了省事,把类字段标记为 public,这不是个好习惯。好习惯应该是将访问级别设置得越低越好。
7.ArrayList 和 LinkedList 选用错误
如果不了解 ArrayList 和 LinkedList 的区别,你很容易会倾向于使用 ArrayList,因为它看起来更常见。
但是,ArrayList 和 LinkedList 有巨大的性能差异。简单来说,如果 add/remove 操作较多,则应该使用 LinkedList;如果随机访问操作较多,则应该使用 ArrayList。
8.可变还是不可变?
不可变对象有很多好处,比如简单、安全等。但是不可变对了要求每次改动都生成新的对象,对象一多就容易对垃圾回收造成压力。我们应该在可变对象和不可变对象上找到一个平衡点。
一般来说,可变对象可以避免产生太多中间对象。一个经典的例子就是连接大量字符串。如果你使用不可变字符串,你就会造出许多用完即弃的中间对象。
9.父类和子类的构造函数
对于子类来说,不管是无参构造方法还是有参构造方法,都会默认调用父类的无参构造方法;当编译器尝试在子类中往这两个构造方法插入super()方法时,因为父类没有一个默认的无参构造方法,所以编译器报错;
10.用 "" 还是用构造函数
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69902581/viewspace-2375161/,如需转载,请注明出处,否则将追究法律责任。