我正在编写一段代码,突然发现“,”不会导致任何编译错误。为什么?
我的意思是什么
public enum A {
B, C, ; // no compilation error
}
但是。int a, b, ; // compilation error
我正在编写一段代码,突然发现“,”不会导致任何编译错误。为什么?
我的意思是什么
public enum A {
B, C, ; // no compilation error
}
但是。int a, b, ; // compilation error
这种设计的语言是为了方便添加和重新排列元素 - 特别是如果每个元素都单独在一行上。
与声明变量相比,这个比喻不太恰当,但数组允许以相同的方式存储更多的值:
int[] foo = { 1, 2, 3, };
基本上,在源代码中定义的集合中添加额外的值比想要将变量添加到声明语句中更为常见。
主要优点在于它使得多行列表更易于编辑,并且减少了差异中的杂乱内容。
修改为:
public enum Names{
MANNY,
MO,
JACK,
}
收件人:
public enum Names{
MANNY,
MO,
JACK,
ROGER,
}
只需要在差异中进行一行更改:
public enum Names{
MANNY,
MO,
JACK,
+ ROGER,
}
当省略尾随逗号时,这比更令人困惑的多行差异更好:
public enum Names {
MANNY,
MO,
- JACK
+ JACK,
+ ROGER
}
后者的差异使得很难看出只添加了一行,而另一行内容没有改变。
根据 Raymond 的回答:https://dev59.com/vmgu5IYBdhLWcg3wFDJr#11597911