亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

新的 Java 8+ 分隔符(標點符號) - 它們如何/在哪里使用?

新的 Java 8+ 分隔符(標點符號) - 它們如何/在哪里使用?

慕斯709654 2022-06-15 09:50:48
Java 8 的 JLS 引入了三個新的分隔符:...   @   ::省略號 ( ...) 用作“方法或構造函數的最后一個形式參數”。但是 Java 7 的 JLS 已經將此形式參數描述為variable arity parameter。它沒有作為分隔符被提及。分隔符::用于形成方法引用表達式。這@意味著“將注釋類型聲明與普通接口聲明區分開來”,因此是注釋類型聲明的一部分。注釋已經是 Java 7 的 JLS 的一部分。我看不到“ at-sign ”的其他用法。搜索有關 Java 8+ 分隔符的問題和答案我一無所獲,這解釋了新分隔符的用法。兩個分隔符...分別是@什么?它們是如何使用的?
查看完整描述

2 回答

?
MYYA

TA貢獻1868條經驗 獲得超4個贊

首先,正如您注意到的那樣,...它出現在 Java 7 中。(我認為它是在 Java 5 中引入的?。┑窃?Java 8 中,他們明確地將其列為“分隔符”標記之一。

我認為這沒有任何實際意義。這只是編輯上的更正。

兩個分隔符...,@分開是什么?

他們并沒有真正分開任何東西。它們被歸類為“分隔符”,因為它們不是運算符、文字、標識符或關鍵字。

筆記:

  1. 在 JLS 11 第 3.1 節中,規范定義了一個替代術語“標點符號”。丑陋,但更準確。)

  2. JLS 將“分隔符”與不區分的“分隔符”區分開來是沒有用的。規范的其余部分幾乎不使用術語“分隔符”,當然也不會在任何暗示分離的上下文中使用。

  3. “分隔符”不分離是有先例的?,F有的標記(){,}[也不]是真正的分隔符。它們的目的是開始或結束構造。

  4. 和標記<>有點奇怪。詞匯語法稱它們為運算符,但在某些情況下,它們充當(松散的)分隔符。

不要試圖對此進行過多的解讀。


查看完整回答
反對 回復 2022-06-15
?
catspeake

TA貢獻1111條經驗 獲得超0個贊

您鏈接中的第一句話說

本章規定了 Java 編程語言的詞法結構。

這就是重點。它是 Java 語言語法的(半正式)描述。我們在這里不是在談論語義,它只是“措辭”。描述Java 編程語言語法中的不同元素。

你可以說在public foo(Bar... vararg)

  • (將方法名稱與參數列表分開

  • ...將參數類型與參數名稱分開

您可能必須深入了解Java 源代碼的解析方式,才能了解...列為分隔符的原因。含義:該術語源自解析器將如何處理...,不一定是語義含義。


查看完整回答
反對 回復 2022-06-15
  • 2 回答
  • 0 關注
  • 180 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號