至于说修改的时候方便一些,的确是的。但是 1.都怪这狗屎语法(我记得 Java7 加 diamond operator 的时候有过讨论,但是就是决定弄成现在这个样子,而不是抄 C#加一个 var 。目的是让程序员肉眼检查类型,这 design taste 也是没谁了。现在加上 var 了,啪啪啪,脸疼不?) 2.不用 IDE 的吗? 3.修改这玩意的概率有多大?所以 1.善用 var ,2. List ArrayList 的不用想的,这样写也就罢了,别的真没必要。
PS: List ArrayList, LinkedList 完全就是 Library 设计的问题了。List 接口给了 random access ,结果一个类 O(1), 一个类 O(n),你这让人怎么面向接口编程。。。。
aguesuka
2022-01-21 15:38:54 +08:00
(暴论) 99% 的场景里, new ArrayList 都可以用 List.of, new ArrayDeque, Stream.toList 代替; 非得在集合里保存 null, 或一定要用 Mutable 集合且一定要 RandomAccess 时, 应该使用 var list = new ArrayList.
实际作为 LocalVariable 使用时, List 和 ArrayList 的唯一区别就是在 IDEA 里想调用 list.equals 可以放心大胆的 e+TAB 而不用担心补全的是 list.ensureCapacity.
hanqy228
2022-04-02 14:58:39 +08:00
@HuPu 看你写的地方了 很多人都说了 如果是私有的作用域那你随意写 ok 。但是如果是公共部分且调用繁多的话还是前者好。不然短时间内可能没事问题。一旦调用越来越多的话,需求一旦有变动。这个技术债会很高很可怕的。牵一发而动全身。