JDK语言功能预览:切换表达式
JEP 12 [“預(yù)覽語言和VM功能”]在其主頁上描述如下:
預(yù)覽語言或VM功能是Java SE平臺的一項新功能,該功能已完全指定,完全實現(xiàn)但不是永久性的。 JDK功能發(fā)布中提供了該功能,以根據(jù)實際使用情況激發(fā)開發(fā)人員反饋。 這可能會導(dǎo)致它在將來的Java SE平臺中永久存在。
顧名思義, JEP 325 [“ Switch Expressions(Preview)”]是“ 預(yù)覽功能” 。 這樣,JEP 325為使用JEP 12概述的過程預(yù)覽新的語言功能提供了早期可見性。
OpenJDK jdk-dev郵件列表上的最新消息提供了JEP 325在幫助Java開發(fā)人員理解JEP 12和“預(yù)覽功能”過程的意義上的有用證據(jù)。 關(guān)于開關(guān)表達(dá)式的“預(yù)覽功能”性質(zhì)的討論(JEP 325)始于Mark Reinhold 于8月27日寫的關(guān)于JEP 325的信息,“此處提出的幾項反對意見并不是新的,因為已經(jīng)提出并回答了反對意見。 amber-dev和amber-spec-experts列表。 因此,我已將此JEP定位于JDK12。” 該消息導(dǎo)致了更多有關(guān)對當(dāng)前提議的“ switch expression ”語言實現(xiàn)提出異議的反饋消息。
為了回應(yīng)某些對話(特別是擔(dān)心一旦從JDK中包含最初的實現(xiàn)就無法更改它),Reinhold在8月28日的一條消息中寫道:
…預(yù)覽語言功能的重點是在不完全致力于當(dāng)前設(shè)計的情況下邀請進(jìn)一步的反饋,因此人們當(dāng)然會使用它(我們希望!)。 但是,他們極不可能在生產(chǎn)中使用它,因為必須在編譯時和運(yùn)行時都在命令行上顯式啟用預(yù)覽功能。 因此,我們可以根據(jù)新信息隨意修改此設(shè)計,然后再將其刻入語言的基石。
JEP 12中討論了當(dāng)前為顯式啟用預(yù)覽功能以進(jìn)行編譯時和運(yùn)行時而提出的標(biāo)志。 如目前所闡述的那樣,預(yù)覽功能的編譯需要在命令行--release javac編譯器的兩個標(biāo)志: --enable-preview --release --enable-preview和--release 。 同一文檔顯示了一個標(biāo)記,需要在運(yùn)行時將其傳遞給java啟動器以啟用預(yù)覽功能: --enable-preview enable --enable-preview 。
JEP 325已經(jīng)在郵件列表上進(jìn)行了重要的討論,我在以前的博客文章“ Switch Expressions Coming Java? ”和“ 通過引入switch表達(dá)式來增強(qiáng)Java switch語句 。” 但是,討論主要在amber-dev和amber-spec-experts郵件列表上進(jìn)行,因此Brian Goetz提供了先前討論要點的摘要以及做出與“ switch expressions”預(yù)覽語言功能相關(guān)的決定的原因。 Goetz在此總結(jié)中總結(jié)了有關(guān)開關(guān)表達(dá)式的預(yù)覽性質(zhì)的這一陳述。
預(yù)覽機(jī)制將使我們能夠從實際使用中收集有關(guān)功能的反饋,而不是從沒有任何理論上得出理論依據(jù),并有可能在保證最終發(fā)布之前調(diào)整規(guī)格。 因此,如果由于實際經(jīng)驗而出現(xiàn)任何新問題,我們很高興聽到有關(guān)它們的消息。
在另一封(稍后)消息中 ,Goetz提供了更多與“預(yù)覽功能”概念相關(guān)的背景細(xì)節(jié)。 他寫了:
預(yù)覽語言功能仍需要作為永久功能完成,并且級別與“完成”相同。 不同之處在于,我們有一個(較短的)“寬限期”,在此期間,我們有機(jī)會糾正已經(jīng)泄漏到正常流程之外的嚴(yán)重錯誤,而不必支付不兼容罰金。 有了新的節(jié)奏,我希望大多數(shù)非平凡的語言功能都將通過“預(yù)覽”機(jī)制進(jìn)行。 這并不意味著它們是實驗性的,或者質(zhì)量較低,或者沒有考慮太多。 但是,有時候確實會發(fā)生,只有在更廣泛的受眾嘗試了這些東西之后,我們才發(fā)現(xiàn)意外的交互作用,為此,Preview提供了一個簡短的窗口,可以糾正這些問題,如果它們能盡早發(fā)現(xiàn)。
Switch Expressions(JEP 325)提供了一個嘗試JEP 12中概述的“預(yù)覽語言功能”概念的機(jī)會。這一功能受到很多人的關(guān)注,也引起了人們的廣泛關(guān)注,這使得它成為一個有趣的功能。將JEP 12進(jìn)行測試。 當(dāng)開發(fā)人員使用現(xiàn)在針對JDK 12的JEP 325的預(yù)覽實現(xiàn)時,看到該功能的實際使用如何增強(qiáng)和削弱當(dāng)前實現(xiàn)的論點會很有趣。
翻譯自: https://www.javacodegeeks.com/2018/08/jdk-language-feature-switch-expressions.html
總結(jié)
以上是生活随笔為你收集整理的JDK语言功能预览:切换表达式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么简单的锁定文件夹_简单性与鲁棒性–在
- 下一篇: junit 5测试异常处理_在JUnit