无论我是不是将尾随逗号放入数组中,性能是不是存在差异?

Posted

技术标签:

【中文标题】无论我是不是将尾随逗号放入数组中,性能是不是存在差异?【英文标题】:Is there a difference in performance whether I put the trailing comma in array, or not?无论我是否将尾随逗号放入数组中,性能是否存在差异? 【发布时间】:2016-09-01 05:50:25 【问题描述】:

在我读到的 Thinking in Java book 4th edition 中,在列表中的最后一个对象之后留下逗号使得自动生成这样的列表更容易,但它是可选的。 另一方面,here,在我可以阅读的 Java SE 规范中,尾随逗号被忽略。 关于 *** 问题,我读到它使代码更易于维护。 但是我想问一下,这对 JVM 工作有什么影响吗?我推断这只是一个好习惯,对吗?如果性能没有差异,我应该使用它作为默认值吗? 哪个版本在实践中使用频率更高? 这是显示问题的示例代码:

Integer[] arrFst = new Integer[]new Integer(1), new Integer(2), ;
Integer[] arrSnd = new Integer[]new Integer(1), new Integer(2) ;

感谢您的回答。

【问题讨论】:

difference in performance - 试试看。 【参考方案1】:

在我阅读的 Thinking in Java book 4th edition 中,在列表中的最后一个对象之后保留逗号可以更容易地自动生成此类列表,但它是可选的。

正确。

另一方面,在我可以阅读的 Java SE 规范中,后面的逗号被忽略了。

正确,但没有“另一方面”的意思。它被忽略了。由编译器。以上两种说法不冲突。

关于 *** 问题,我读到它使代码更易于维护。

再次更正。

但是我想问一下,这对 JVM 工作有什么影响吗?

不,因为它被编译器忽略了,所以 JVM 甚至看不到它。

我推断这只是一个好习惯,对吗?

这是一种可选做法,在某些情况下很有用。

如果性能没有差异,我应该使用它作为默认值吗?

不,为什么?

哪个版本在实践中使用频率更高?

如果没有对现有的所有 Java 代码进行完整调查,或者没有足够的代码构成具有统计意义的样本,这是无法回答的。在任何情况下,你都应该做最适合自己的事情,而不是从统计学上来说每个人都做的事情。

【讨论】:

我仍然不知道应该使用哪个版本,但您的回答确实帮助了我。谢谢!

以上是关于无论我是不是将尾随逗号放入数组中,性能是不是存在差异?的主要内容,如果未能解决你的问题,请参考以下文章

数组和对象中的尾随逗号是规范的一部分吗?

数组和对象中的尾随逗号是规范的一部分吗?

Java中数组初始值设定项中带有尾随逗号的数组

以逗号分隔的字符串查找目录列表,不带尾随逗号

删除尾随逗号 - (在问这个之前我做了研究,相信我。)

您可以在 JSON 对象中使用尾随逗号吗?