Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java “什么是”呢;“语法上平行的元素”;在爪哇?_Java_Checkstyle - Fatal编程技术网

Java “什么是”呢;“语法上平行的元素”;在爪哇?

Java “什么是”呢;“语法上平行的元素”;在爪哇?,java,checkstyle,Java,Checkstyle,谷歌Java风格指南中有一条规则“”,其中规定: 通常,两个连续行使用相同的缩进级别,当且仅当它们以语法上平行的元素开头时 有人能解释一下“语法上的平行元素”是什么意思,并提供一些例子吗?您引用的谷歌Java风格指南指的是所谓的延续缩进,即换行后使用的缩进。在本例中,语法上(可能)并行的元素是要包装的表达式 示例1(语法平行): 示例2(语法上不平行): 在示例2中,对foo2()的方法调用嵌套在对foo()的调用中,因此foo2()的参数与foo()的参数不在同一级别,换句话说,它们不是“语法

谷歌Java风格指南中有一条规则“”,其中规定:

通常,两个连续行使用相同的缩进级别,当且仅当它们以语法上平行的元素开头时


有人能解释一下“语法上的平行元素”是什么意思,并提供一些例子吗?

您引用的谷歌Java风格指南指的是所谓的延续缩进,即换行后使用的缩进。在本例中,语法上(可能)并行的元素是要包装的表达式

示例1(语法平行):

示例2(语法上不平行):

在示例2中,对
foo2()
的方法调用嵌套在对
foo()
的调用中,因此
foo2()
的参数与
foo()
的参数不在同一级别,换句话说,它们不是“语法上并行的”

在GoogleJava风格中,这意味着
+“baz”)零件可以缩进超过4个空格


话虽如此,我相信“句法平行”一词是该文件作者创造的;至少我没有在其他地方看到过它的大量使用。

简而言之,这意味着如果将两个元素解析为同一个构造,那么它们将保持相同的缩进。比如说

String[] elements = new String[] { "bob",
                                   "joe",
                                   "pete" };
这是有意义的(即使它没有以这种方式格式化),因为它们都是同一数组定义中的
String
元素

也在一个街区之内

 {
    System.out.println("hi");
    actNow(input);
    for (int i = 0; i < j; i++) {
      return 5;
    }
 }
{
System.out.println(“hi”);
actNow(输入);
对于(int i=0;i

System.out.println(“hi”)
actNow(输入)
和for循环的缩进相等,因为它们都是同一块中的语句。注意
返回5的缩进不相等,因为它是for循环块内的语句。因此
返回5
在语法上与其他语句不同,因为它的块位置不同。

第一个标记包含在同一组括号中,并且两个标记都紧跟在逗号或分号等分隔标记之后,或者不紧跟在分隔标记之后。我猜这意味着两个具有相同嵌套级别(或优先级)的东西在表达式/语句中。换句话说:
相同语法调用级别的元素
。例:一个块中的所有语句(和块)都位于同一级别,即块的级别+1。
String[] elements = new String[] { "bob",
                                   "joe",
                                   "pete" };
 {
    System.out.println("hi");
    actNow(input);
    for (int i = 0; i < j; i++) {
      return 5;
    }
 }