Java工作中的一些记录(持续更新)

Java工作中的一些记录(持续更新),第1张

Java工作中的一些记录(持续更新) 1,"YYYYMMdd"与"yyyyMMdd"的区别。

y与Y的区别如下图所示:

Y表示本周属于的年份,一周从周日开始,周六结束,只要本周跨年,那么这周就算入下一年。
例子可见下图(网上找,侵删):

2,使用集合的时候注意IndexOutOfBoundsException异常和NullPointException异常

经常出现在 X.get(i),X.remove(i)等等,当使用这些下标类的方法时考虑下,对应集合是否会出现数组下标越界异常和空指针异常。

思考

判断集合为空的方法,CollectionUtils.isEmpty()方法与list.isEmpty()的区别?
先说结论:**list.isEmpty()会报空指针异常,但是CollectionUtils.isEmpty()不会。**看下图

https://blog.csdn.net/merryxuan/article/details/82871978 这篇文章下面一个兄弟做的比喻很生动好理解。

最后,我们看一下两者的源码。
CollectionUtils.isEmpty():

ArrayList.isEmpty():

显然,CollectionUtils.isEmpty()会判断对应的集合是不是空,或者集合的size是不是等于零。而list的判空方法只会判断size是不是等于零。而当list本身为空的时候,list.isEmpty()方法就会报空指针异常。

3,代码中避免魔法值

https://zhuanlan.zhihu.com/p/135286382?from_voters_page=true

4,其他方法

https://blog.csdn.net/chaishen10000/article/details/89509577

5,使用静态变量

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5678154.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存