gpt4 book ai didi

java - .method() 没有引用

转载 作者:行者123 更新时间:2023-12-01 11:25:32 24 4
gpt4 key购买 nike

我注意到以下代码在我的程序中正确编译:

ArrayList<Token> eval = new ArrayList<>(0);
for (Token token : tokens) {
eval.add(token);
if (token.equals(new Token("EOS", "EOS"))) {
.clear();
} else {
continue;
}
}

但是,.clear()部分让我感到困惑。我应该执行 instance.method(),但是 .method() 也可以!这是为什么?

最佳答案

您问题中的片段在语法上不正确。以下语法适用于 method invocation expressions

Method Invocation

 - MethodName ( [ArgumentList] )
- TypeName . [TypeArguments] Identifier ( [ArgumentList] )
- ExpressionName . [TypeArguments] Identifier ( [ArgumentList] )
- Primary . [TypeArguments] Identifier ( [ArgumentList] )
- super . [TypeArguments] Identifier ( [ArgumentList] )
- TypeName . super . [TypeArguments] Identifier ( [ArgumentList] )

换句话说,您可以使用不合格的方法的标识符(名称),其中上下文将确定该方法是什么以及其目标引用是什么(如果有)。否则,您将需要一个在方法标识符前面加上 . 字符的表达式或类型名称。同样,有一组规则决定在编译时和运行时调用的方法。

这部分代码

.clear();

不符合上面定义的语法。如果在源代码中按字面意思使用它,那么它在 Java 中的语法是不正确的。

您可能正在查看伪代码或该语言的缩写形式(例如在 IDE 中)。

关于java - .method() 没有引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30835162/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com