如果有正在学java的程序员,可来我们的java技术学习扣qun哦:78537,9357,小编花了近一个月整理了一份非常适合18年学习的java干货,加入就免费送java的视频教程噢!而且我每天晚上都会在里面直播讲Java知识,从零基础学习到有基础进阶,欢迎初学和进阶中的小伙伴。
在我们刚开始学习编程的时候,会出现一些“细节”上的错误,这些错误可能并不是我们代码中有错误,而是对于一些概念还不清楚所导致的,然而编程偏偏又是一个需要严谨的技术活,所以这些细节上的失误就会造成程序运行出错!
近日就有一位Java程序员写了一段有序集合代码,可是却不知道出了什么问题,总是运行出错!
这段代码调用了私有制的private,然后用int型的数据类型分别定义两个集合的对象,之后在用s和v标记了List1集合和List2集合的偏移, 然后进入循坏,之后判断输出他们的交集,总体的格式就是这样的。
有网友认为,这段代码的问题非常多,代码中不仅加了那么多临时变量,而且还用while,这样会产生异常的,因为根本求不出正确的交集!可是这位程序员很不解,代码逻辑没有什么问题,而且也可以求的出正确的交集,只是会丢失掉最后一个交集变量而已。
有网友给出解释:这已经不是集合的问题了,而是线性表,因为可能会出现重复的元素,List可能是链表,是要用到迭代器的,而且还可能访问不到最后一个元素,而从整体角度来看,这个方法应该是“返回”而不是用“打印”,因为交集是单独的功能,List也没有保证是有序的,需要靠外部逻辑来保证。
在日常的工作和学习中,经常会出现这样的情况,我们提高自己技术的同时,很忽略这样偏理论性的知识,这样造成的错误往往是比较严重的,所以在动手敲代码之余,可不要忘记巩固自己的理论知识。
领取专属 10元无门槛券
私享最新 技术干货