java jdk设置字符集_使用JDK 11在Java字符串上的新方法

java jdk设置字符集

Java的String类似乎将在JDK 11中获得一些新方法,该方法将于2018年9月发布。

错误号 错误标题 新的String方法 描述
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数组以及StringStringBuffer类中使用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设置字符集

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/333524.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MacOS 如何安装 SVN 命令终端

I purchased a new Mac running Mac OS X v10.8.5 (Mountain Lion). I’ve seen it written in various places that SVN is installed on OS X by default, but when I open a terminal and type which svn the program is not found. I’ve also run find / -name svn to che…

java代码审计ssrf危险函数_某租车系统Java代码审计之后台注入漏洞分析

CMS简介系统基于租车业务场景而搭建的O2O服务平台,可为用户提供商务租车、接送机、旅游租车、企业租车、自驾租车、婚庆用车等自助租车服务。系统包含车辆库管理、门店管理、员工管理、司机管理、订单管理、活动管理、评价管理、财务管理、统计等。部署简介1、下载代…

docker jib_Jib –为Spring Boot应用程序构建docker映像

docker jib使用Jib为示例Spring Boot应用程序创建docker映像是如此容易,这让我感到惊喜。 让我首先将Jib与以前使用的方法进行对比。 我正在使用bmuschko出色的gradle-docker插件创建docker映像。 如果可以访问docker守护进程以及基于dockerfile或直接Dockerfile的…

如何在 MacOS 环境下搭建 SVN 服务端环境

文章目录在服务端创建资源仓库资源仓库访问权限配置给资源仓库添加用户配置用户组及用户的权限启动 SVN 服务器停止 SVN 服务器SVN 是一个使用十分广泛的开放源代码的版本控制系统。在 Windows 系统下,我们一般使用 TortoiseSVN 来搭建 SVN 环境。而 MacOS 系统我们…

java 飞行记录器_Java 11功能– Java飞行记录器

java 飞行记录器在本文中,我们将看到如何利用Java Flight Recorder功能作为Java 11的一部分。之前,它是商业功能之一。 但是,对于带有JEP 328的 Java 11,它是开源的。 Java Flight Recorder将OS和JVM事件记录到一个文件中&#xf…

mysql管理节点_MySql节点管理安装步骤需要在SerA和SerB上各做一次

对大家推荐很好使用的MySql节点系统,像让大家对MySql节点系统有所了解,然后对MySql节点系统全面讲解介绍,希望对大家有用在向大家详细介绍MySql节点之前,首先让大家了解下MySql节点,然后全面介绍MySql节点,…

在java中补零的作用是什么_浅谈Java中的补零扩展和补符号位扩展

今天,魏屌出了一道题,题目如下:定义一个大头序的byte[]a{-1,-2,-3,-4},转换成short[]b.问b[0]和b[1]分别是多少?乍一看,这题不难,无非就是移位操作,再进行组合。但是呢?对…

arquillian_使用Arquillian(远程)测试OpenLiberty

arquillian听到许多好评后,我想我会尝试一下Open Liberty 。 在这篇文章中,我将讨论以下内容: 开放自由的设置 设置JDBC连接 设置Arquillian 测试REST端点 安装开放自由 在撰写本文时,我正在使用Open Liberty 18.0.0.1&…

Linux 命令之 pico -- 文本编辑器

没有时间整理,暂时参加此文:https://tool.lu/command/detail.html?namepico

delphi 获取java控件位置_delphi的IdFTP控件函数怎么调用

RootDir 要删除的根目录,一般情况下 RemoteDir 与 RootDir 相等}procedure TForm1.FTP_DeleteAllFiles(var idFTP : TIdFtp;RemoteDir,RootDir : string);label Files;vari,DirCount : integer;Temp : string;beginidFTP.ChangeDir(RemoteDir);if Pos(RootDir,idFT…

javafx查找子节点_JavaFX技巧29:使布局忽略不可见的节点

javafx查找子节点在我仍在Swing中实现UI的时候,我曾经是MigLayout的忠实拥护者(“一个布局管理者来统治所有这些,对吗Mikael?”)。 我真正喜欢的功能之一是当组件不可见时可以定义不同的行为。 MigLayout允许我保留现在…

SVN 仓库转换为 Git 仓库

没有时间整理,请暂时参考:http://www.178linux.com/21199

现在java编程用的框架_现在java编程用的框架

2怎样学习java掌握常用的API用法每一门成熟的编程语言都会向用户提供丰富的应用编程接口(Application programming Interface),也就是通常所说的API,熟练掌握这些API,无疑会极大的提高我们编码的效率,但是Java提供的API实在是太多…

jdk11 默认收集器_JDK 11:新的默认收集方法toArray(IntFunction)

jdk11 默认收集器“ JDK 11 Early Access发行说明 ”指示JDK 11的Early Access Build 20在Collection接口上包括一个新的默认方法 ,该方法 “允许将集合的元素转移到所需运行时类型的新创建的数组中”。 这个新的默认方法 [ Collection.toArray(IntFunct…

SVN 命令详解

文章目录在 SVN 服务端创建项目仓库,即资源仓库启动 SVN 服务器将客户端的源代码导入 SVN 版本库中从 SVN 服务器端检出代码到指定的客户端目录下从 SVN 版本控制器中导出指定版本的源代码到指定的客户端目录下更新指定版本的数据/回滚指定版本的数据/还原到指定版本…

java当前4中引用_Java的四种引用

1.强引用如果一个对象具有强引用,那就 类似于必不可少的生活用品,垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足问…

递归算法和迭代算法_Java中没有递归的二进制搜索–迭代算法

递归算法和迭代算法这周的任务是用Java实现二进制搜索 ,您需要编写迭代和递归二进制搜索算法 。 在计算机科学中,二进制搜索或半间隔搜索是一种分而治之的算法,用于在排序数组中定位项目的位置。 二进制搜索通过将输入值与数组的中间元素进行…

SVN 出错信息汇总/错误信息一览表

编号出错信息信息解读剖析及解决方案1svn: Server sent unexpected return value (500 Internal Server Error) in response to OPTIONS request for ‘http://svn.moon.ossxp.com/svn/test’svn: 服务器发送了意外的返回值(500 Internal Server Error),在响应 “OP…

c 应用程序开发框架_企业应用程序开发框架的分类

c 应用程序开发框架如果您使用Google“最佳Java框架”,那么您很可能会迷失本文 ,它对Java Enterprise世界中的情况进行了很好的概述。 但是,从我的角度来看,它缺少一件非常重要的事情–对上述框架进行分类。 让我们看看这个生态系…

java mapper sql_Slardar Sql Mapper Framework for Java( Java 持久层框架一枚~)

slardar是一个sql mapping框架,其大概使用方式类似mybatis,没有采用hibernate那种orm的方式是因为个人觉得这种方式需要大量的处理sql,每次操作对象都要进行依次sql解析比较繁琐;转而想到mybatis这种把sql逻辑交给用户的方式还是比…