java jdk设置字符集_使用JDK 11在Java字符串上的新方法
java jdk設置字符集
Java的String類似乎將在JDK 11中獲得一些新方法,該方法將于2018年9月發布。
| JDK-8200425 | 字符串::行 | lines() | “使用專用的分隔符從源字符串中懶散地提供行的字符串實例方法?!? |
| JDK-8200378 | String :: strip,String :: stripLeading,String :: stripTrailing | strip() | trim()的 “ Unicode感知”演變 |
| stripLeading() | “從一開始就刪除Unicode空白” | ||
| stripTrailing() | “從……端刪除Unicode空白” | ||
| JDK-8200437 | 字符串:: isBlank | isBlank() | “如果字符串為空或僅包含空格,則返回true的實例方法” |
可以在core-libs-dev郵件列表上的請求“ 兼容性和規范審查 ”(CSR)的消息中找到與這些方法有關的進展證據:
- 請查看CSR:JDK-8200425 String#lines (2018年4月25日)
- 請查看CSR:JDK-8200378 String#strip,String#stripLeading,String#stripTrailing (2018年4月25日)
- 請查看CSR:JDK-8200425 String#lines (2018年4月25日)
這五個新方法中的四個的一個共同特征是,它們使用與舊方法(例如String.trim())不同的(較新的)“空白”定義。 錯誤JDK-8200373 [“ String :: trim JavaDoc應該澄清空間的含義”]甚至針對String.trim()方法( 郵件列表查看請求 )解決了這個問題:
當前針對String :: trim的JavaDoc并未明確說明代碼中使用了哪個“空格”定義。 隨著不久的將來會出現其他使用不同空間定義的修整方法,因此有必要進行澄清。 String :: trim使用空格的定義作為小于或等于空格字符代碼點(\ u0040)的任何代碼點。較新的修整方法將使用(空格)的定義作為任何傳遞給參數時返回true的代碼點。字符:: isWhitespace謂詞。
在JDK 1.1中將isWhitespace(char)方法添加到Character中 ,但是直到JDK 1.5才將isWhitespace(int)方法引入Character類中。 添加了后一種方法(該方法接受一個int類型的參數)以支持補充字符 。 針對Character類的Javadoc注釋定義了補充字符 (通常以基于int的“代碼點”為模型)與BMP字符 (通常以單個字符為模型):
從U + 0000到U + FFFF的字符集有時被稱為基本多語言平面(BMP) 。 代碼點大于U + FFFF的字符稱為補充字符 。 Java平臺在char數組以及String和StringBuffer類中使用UTF-16表示形式。 在此表示形式中,補充字符表示為一對char值...因此, char值表示基本多語言平面(BMP)代碼點,包括替代代碼點或UTF-16編碼的代碼單元。 一個int值表示所有Unicode代碼點,包括補充代碼點。 … 僅接受char值的方法不能支持補充字符。 … 接受int值的方法支持所有Unicode字符,包括補充字符。
我在上面的引用中添加了粗體 ,以強調“ 代碼點 ”的重要性,“ 代碼點 ” 在Java上下文中定義為 “可以在編碼字符集中使用的值”。 在JDK 11中為String提出的五個新方法中,有四個在很大程度上依賴于Character.isWhitespace(int)包含的概念來確定如何“修剪”給定的字符串或確定給定的字符串是否“空白”。
說到Unicode,還建議將 JEP 327 [“ Unicode 10”] 添加到JDK 11中。 正如JEP所說,其目的是“升級現有平臺API以支持Unicode標準 10.0版 ?!?對于任何希望使用此新版本支持的“ 56個新 表情符號字符”的人來說,這將是一個特別令人振奮的消息。
結論
當前針對JDK 11提出的String新方法提供了一種更一致的方法來處理字符串中的空白,從而可以更好地處理國際化;提供了僅在字符串開頭或字符串結尾處修剪空白的方法,并提供了專門用于原始字符串文字的方法 。
翻譯自: https://www.javacodegeeks.com/2018/05/new-methods-on-java-string-with-jdk-11.html
java jdk設置字符集
總結
以上是生活随笔為你收集整理的java jdk设置字符集_使用JDK 11在Java字符串上的新方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何更改域名(如何更改域名服务器IP)
- 下一篇: docker jib_Jib –为Spr