当前位置: 首页 > 知识库问答 >
问题:

新的Java8分隔符(标点符号)-如何/在何处使用?

柴丰
2023-03-14

JLS for Java 8引入了三个新的分隔符:

...   @   ::

省略号(...)用作方法或构造函数的最后形式参数。但是Java7的JLS已经将这种形式参数描述为可变性参数。它没有被提到作为分隔符。

分隔符用于形成方法引用表达式。

@的意思是“区分注释类型声明和普通接口声明”,因此是注释类型声明的一部分。注释已经是Java7的JLS的一部分。我看不出“at标志”还有其他用法。

搜索有关Java8分隔符的问题和答案时,我没有发现任何东西,这解释了新分隔符的用法。

两个分隔符...@分隔什么?它们是如何使用的?

共有2个答案

宣煜
2023-03-14

你链接里最上面的一句话是

本章介绍Java编程语言的词汇结构。

这就是这里的重点。它是对Java语言语法的(半正式)描述。我们在这里谈的不是语义学,而是“措辞”。描述Java编程语言语法中的不同元素。

你可以在公共领域说... vararg

  • 将方法名称从参数列表中分离出来

您可能必须深入了解如何Java源代码解析,以了解为什么...被列为分隔符。含义:该术语源自解析器将如何处理...,不一定是语义含义。

葛高澹
2023-03-14

首先,正如您注意到的...出现在Java7中。(我想它是在Java5介绍的!)但是在Java8中,他们明确地将其列为“分隔符”令牌之一。

我不认为这有什么真正的意义。这只是编辑上的更正。

这两个分隔符是什么…,@分离

他们没有真正分开任何东西。它们被归类为“分隔符”,因为它们不是运算符、文字、标识符或关键字。

注意事项:

>

  • 在JLS 11第3.1节中,规范定义了一个替代术语标点符号。难看,但更准确。)

    对于JLS来说,将“分隔符”与不分隔的“分隔符”区分开来是没有用的。术语“分隔符”在规范的其余部分中几乎没有使用,当然在任何暗示分隔的上下文中也没有使用。

    “分离器”不分离是有先例的。现有的令牌{}[]实际上也不起分隔符的作用。它们的目的是开始或结束构造。

    不要试图过多地了解这一点。

  •  类似资料:
    • 如何用tesseract(预处理或通过特殊的tesseract配置)正确地识别字符分隔符内的文本,尤其是梳状类型(第3个图像),如下三个图像所示: 正如所观察到的,数字被正确地标记并作为提取文本的子集出现。但是,分隔符也被识别为“1”、“、”、“7”、“4”、“”。预期产量为1992.07.12。 2)我对图像识别是新手。图像预处理是OCR之前的一个重要步骤。我已经从左、下、右三个方向尝试了flo

    • 问题内容: 我需要在数据库中填充纬度和经度列,但是原始信息存储为单个字符串 例如。 我猜想TRIM命令在这里很有用,但是我不知道如何告诉它每半个部分都精确地停在逗号上。 我希望能够提出一个简单的UPDATE查询,如下所示: 但是显然在LTRIM和RTRIM部分中需要做一些额外的工作,因此我只选择数据,但不包括UDFChar1中的逗号。 关于如何实现这一目标的任何想法? 问题答案: 请试试: 和 样

    • 在逗号处划分字符串的最佳方法是什么,这样每个单词都可以成为ArrayList的一个元素? 例如:

    • 如何转换这样的内容(假设我使用缓冲阅读器读取信息?): 对此: 如果这有意义的话?基本上删除逗号和换行符,并将每个不同的单词插入到它自己的元素中。

    • 问题内容: 我有一个长度未知的字符串,看起来像这样 将这些字符串用逗号分隔的最佳方法是什么,以便每个单词都可以成为的元素? 例如 问题答案: 你可以这样做: 基本上,该方法将根据你正在传递的(在这种情况下)定界符来分割字符串,并将返回字符串数组。 但是,你似乎位于字符串列表而不是数组之后,因此必须使用该实用程序将数组转换为列表。就像供你参考一样,你也可以这样做: 但是通常最好是对接口进行编程,而不

    • 在iOS 15中,在节头和第一个单元格之间添加分隔符: 如何隐藏或删除该分隔符? 几点注意事项 标题是从 查看视图调试器时,我可以看到额外的分隔符实际上是第一个单元格的子视图,它现在有一个顶部分隔符和一个底部分隔符。 除了设置更改单元格分隔符的插入外,这是一个完全标准的表视图,没有任何自定义设置