在第4版的《Thinking in Java》一书中,我读到在list中的最后一个对象后留下逗号可以使自动生成这样的列表更容易,但它是可选的。另一方面,在Java SE规范here中,我可以读到,尾部的逗号被忽略了。在StackOverflow问题中,我读到它可以使代码更容易维护。
这对JVM的工作有什么影响吗?我推断这只是一个很好的实践,对吗?如果性能没有影响,我应该使用它作为默认值吗?哪个版本在实践中使用得更频繁?
下面是一个示例代码来说明这个问题:
Integer[] arrFst = new Integer[]{new Integer(1), new Integer(2), };
Integer[] arrSnd = new Integer[]{new Integer(1), new Integer(2) };
1条答案
按热度按时间mccptt671#
在Thinking in Java第4版中我读到,在list中的最后一个对象后留下逗号使得自动生成这样的列表更容易,但这是可选的。
正确。
另一方面,在这里,在Java SE规范中,我可以读到,尾部逗号被忽略。
正确,但是没有“另一方面”。它被编译器忽略了。上面两个语句之间没有冲突。
关于StackOverflow问题,我读到它使代码更容易维护。
又对了。
但是我想问你,这对JVM的工作有什么影响吗?
不,因为编译器忽略了它,所以JVM甚至看不到它。
我推断这只是一个好的练习,对吗?
这是一个可选的做法,在某些情况下是有用的。
如果在性能上没有差异,我是否应该将其用作默认值?
没有,怎么了?
哪个版本在实践中使用得更频繁?
如果不对现有的所有Java代码进行全面的调查,或者没有足够的数据来构成一个具有统计意义的样本,就无法回答这个问题。无论如何,你应该做对你最好的事情,而不是从统计学上讲每个人都做什么。