在JavaEE中,空格和换行符可以放在方法名之前吗?

在JavaEE中,空格和换行符可以放在方法名之前吗?,java,methods,between,spaces,Java,Methods,Between,Spaces,我从来没有这样编码过,但是我正在阅读的代码在方法名之前有很多空格和cr。例如,Logger.instance .debug("(actionCodeRange(3,3) && priorStatusCodeRange(2,7)):" 这在我看来确实是错误的。令牌之间的空白并不重要。也就是说,不能在标识符、数字、关键字(如int)或多字符运算符(如+=)中放置空格。字符串中的空格不会被忽略。否则,请将它们插入您想要的位置 2+2等于2+

我从来没有这样编码过,但是我正在阅读的代码在方法名之前有很多空格和cr。例如,Logger.instance

            .debug("(actionCodeRange(3,3) && priorStatusCodeRange(2,7)):"

这在我看来确实是错误的。

令牌之间的空白并不重要。也就是说,不能在标识符、数字、关键字(如int)或多字符运算符(如+=)中放置空格。字符串中的空格不会被忽略。否则,请将它们插入您想要的位置

2+2等于2+2等于

      2
      +
      2

同样,也可以在周围放置空格。分隔符。

标记之间的空格不重要。也就是说,不能在标识符、数字、关键字(如int)或多字符运算符(如+=)中放置空格。字符串中的空格不会被忽略。否则,请将它们插入您想要的位置

2+2等于2+2等于

      2
      +
      2

同样,也可以在周围放置空格。分隔符。

Java允许在对象名称及其方法调用之间使用空格、制表符和换行符

这将是合法的:

记录器。调试一些消息; 即使是这样:

记录器 . 调试一些消息; 我同意这不是世界上最明显的代码,但它是完全合法的

当您想要链接一组方法调用时,使用这样的换行符通常很方便:

StringBuilder sb = new StringBuilder();
sb.append("This is the first string to be appended")
  .append("And this is the second")
  .append("etc,")
  .append("etc,")
  .append("etc.")

Java允许在对象名及其方法调用之间使用空格、制表符和换行符

这将是合法的:

记录器。调试一些消息; 即使是这样:

记录器 . 调试一些消息; 我同意这不是世界上最明显的代码,但它是完全合法的

当您想要链接一组方法调用时,使用这样的换行符通常很方便:

StringBuilder sb = new StringBuilder();
sb.append("This is the first string to be appended")
  .append("And this is the second")
  .append("etc,")
  .append("etc,")
  .append("etc.")

标记之间的空白对于编译器来说无关紧要

与此类问题一样,答案在于:

这些输入元素(已丢弃空格§3.6和注释§3.7)构成Java编程语言语法的终端符号,称为标记§3.5

我的

白空间意义重大

在字符串文本中

"Hello World!"
在字符文本中

' '
作为令牌之间的分隔符

boolean interface; // not valid, 'interface' is a keyword
int erface; // valid, the space makes sure that the compiler
// produces two tokens instead of one: the keyword 'int' and the
// identifier 'erface'

标记之间的空白对于编译器来说无关紧要

与此类问题一样,答案在于:

这些输入元素(已丢弃空格§3.6和注释§3.7)构成Java编程语言语法的终端符号,称为标记§3.5

我的

白空间意义重大

在字符串文本中

"Hello World!"
在字符文本中

' '
作为令牌之间的分隔符

boolean interface; // not valid, 'interface' is a keyword
int erface; // valid, the space makes sure that the compiler
// produces two tokens instead of one: the keyword 'int' and the
// identifier 'erface'

我还要补充一点,这与JavaEE无关。JavaEE只是一个扩展企业平台,它有一个基础,您正在询问核心JavaSE的语义。Mureinik,您清楚地回答了我的问题。谢谢。我还要补充一点,这与JavaEE无关。JavaEE只是一个扩展企业平台,它有一个基础,您正在询问核心JavaSE的语义。Mureinik,您清楚地回答了我的问题。谢谢。谢谢你花时间回复。谢谢你花时间回复。分隔符是我怀疑的地方。谢谢。我怀疑的地方是“.”分隔符。非常感谢。