消灭 Java 代码的“坏味道”(11)
1.2.应该使用 Collection.isEmpty() 检测空
使用 Collection.size() 来检测空逻辑上没有问题 , 但是使用 Collection.isEmpty() 使得代码更易读 , 并且可以获得更好的性能 。 任何 Collection.isEmpty() 实现的时间复杂度都是 O(1) , 但是某些 Collection.size() 实现的时间复杂度可能是O(n) 。
反例:
正例:
如果需要还需要检测 null , 可采用:
-
CollectionUtils.isEmpty(collection)
-
CollectionUtils.isNotEmpty(collection)
1.3.不要把集合对象传给自己
将集合作为参数传递给集合自己的方法要么是一个错误 , 要么是无意义的代码 。
此外 , 由于某些方法要求参数在执行期间保持不变 , 因此将集合传递给自身可能会导致异常行为 。
推荐阅读
- 新世界|《新世界》爆出恶性踢人Bug,直接聊天窗发代码
- 神秘代码|MSJOY神秘代码调侃三大女解说,小彤发图自嘲,风筝一招制敌
- 地下城与勇士|DNF:玩家意外开启GM模式,装备竟自带一串神秘代码,全服唯一
- 神秘代码|剑网3缘起如约而至
- 神秘代码|可恶,游戏服务器的名字也太香了,这还是家正经的游戏公司吗?
- 我的世界|我的世界:Java种子新出炉,内陆蘑菇岛算什么,这些种子它不香?
- 魔兽世界怀旧服|魔兽怀旧服:拍卖行恶意插件,玩家上万金币凭空消失,慎用WA代码
- 暗黑破坏神|原神:米哈游终于动手了,一个响指,消灭了一半的号贩子
- 上古卷轴5|杀光整個天际省!玩家费时2月消灭整个《上古卷轴5》所有生命
- 侠盗猎车手|史上牵扯最广“屎山”代码:if循环19.8亿次,7年无人敢动!终于被修复了!