5
JEP draft: Raw String Literals (openjdk.java.net)
IngramChen 積分 0 編輯於

忽然想到這是 java 最後一次加上 string interpolation 的機會了

因為不管你挑什麼符號做為 interpolation 的 prefix, 現有的 java 程式一定都有人用過了, 25年啊

raw string literal 這功能上線的當下, 如果沒有先做完 interpolation, 之後想再加就會 break change...

做不完的話好歹也先留個 keyword 給之後用 (比方說用 $ 字號一定要 escape), 就跟 _ 底線先保留給未來的 lambda 用一樣

natsu 積分 0

String interpolation 指的是這個1嗎?

雖然不太喜歡用 %s%d 之類的 (比較喜歡 EL、SLF4J 的作法),但是應該和 String literals 沒有衝突吧?

IngramChen 積分 1 編輯於

interpolation 是指在 literal 裡摻 expression

"hello $name"
haocheng 積分 0

看起來這個 JEP 不會處理 interpolation 部分,理論上應該要有另一個 JEP 來負責才對,不過我沒找到...

koji 積分 0 編輯於

ohhhhhhhhhh 一直都有人在提的終於...

natsu 積分 0

對啊,討論了很久終於...

如果有這個功能,以後字串的排版就可以更靈活了~

突然想到 Annotation 是否也需要 String Literals? (e.g. @NamedQuery)

koji 積分 0

我們有人就是為了這個, dao query 用 kotlin

IngramChen 積分 0

java 現在會怕就好, 之前一直裝死連這種最基本的都不加

不過加了也太晚了, 就算java現在半年發一版, 但 android 通常要一二年以上才會跟上. 等於一半的人還是沒得用

nanashi07 積分 0

總比都不改的好,至於 android 會慢慢往 kotlin 轉吧。