当前位置: 首页 > 科技观察

震惊!Java程序员常犯的错误就是这10个

时间:2023-03-19 20:01:22 科技观察

和大多数程序员一样,我也很书呆子。周末的奢侈活动是浏览诸如programcreek之类的技术网站,这是一个包含一些非常有趣的主题的小网站。例如:Java程序员常犯的这10个错误。像这样让人想杀猫的题材,非常值得收藏和分享给大家。PS:不要问我“为什么要在标题后面加上‘惊呆’?”答案只有一个——吓唬人——一定要引起大家的阅读兴趣(对我来说容易吗)。下面开始正文。01.将Array转换为ArrayList说实话,很多Java程序员喜欢将Array转换为ArrayList:Listlist=Arrays.asList(arr);但实际上Arrays.asList()返回的ArrayList并不是java.util.ArrayList,而是Arrays的内部私有类java.util.Arrays.ArrayList。虽然名字一模一样,都是ArrayList,但是两个类还是有很大区别的。Arrays.ArrayList虽然有set()、get()、contains()等方法,但是没有添加元素的方法,所以它的大小是固定的。如果你想创建一个真正的ArrayList,你需要这样做:Listlist=newArrayList(Arrays.asList(arr));ArrayList的构造函数可以接收一个Collection类型的参数,而Arrays.ArrayList是它的子类,所以可以这样改造。02.通过Set检查数组是否包含某个值。在我写文章《如何检查Java数组中是否包含某个值 》之前,我提到了一个方法:Setset=newHashSet(Arrays.asList(arr));返回集.contains(targetValue);这种方法确实可行,但是忽略了性能问题;为了尽快完成检查,你可以这样做:Arrays.asList(arr).contains(targetValue);或使用普通的for循环或for-each。03.通过for循环删除列表中的元素新手喜欢用for循环删除列表中的元素,像这样:Listlist=newArrayList(Arrays.asList("Shen","Mo","King","two"));for(inti=0;i