有25种类型的空白。character.isWhitespace(char)
在下面的代码中显示,25种类型中有4种在Java中不被视为空白。为什么?
public class Main {
public static void main(String...args){
char [] whiteSpaces = {'\u0085', '\u00A0', '\u2007', '\u202F'};
for(char space : whiteSpaces){
//All spaces are not white spaces in Java.
System.out.println("[" + space + "] is a white space in Java:" + Character.isWhitespace(space));
}
}
}
参考-https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/character.html#IsWhitespace(char)
为什么?因为这就是该方法的指定方式。javadoc foriswhitespace
列出了与之匹配的代码。您标识的4不在列表中。
我们不能告诉你为什么会这样定义。但是,javadoc所说的一个含义是,'\u00a0'
、'\u2007'
和'\u202f'
被排除在外,因为它们是不间断的空白字符。
'\u0085'
或nel
是一个有趣的例子。根据Unicode代码表(见此处的非官方摘要),它不属于一般类别SPACE_SEPARATOR、LINE_SEPARATOR或partearh_separator。(它显示在控件类别中。)
如果您想要一个识别所有Unicode空白字符(即SPACE_SEPARATOR、LINE_SEPARATOR或partearh_separator中的字符)的方法,应该使用isspacechar
(javadoc)而不是iswhitespace
。
注意,Unicode规范不是一个固定的东西。代码的分类,以及“空白”的定义随着时间的推移而演变。每个Java版本实现Unicode规范的特定版本,该版本在发布时是最新的。例如:
详细信息在每个Java版本的character
类的javadoc中。请注意,给定的Java发行版没有修补以跟踪后续的Unicode发行版。
对于这个程序,它要求用户输入他们的全名。然后,它通过在名字和姓氏之间的空格处将它们分开来排序名字和姓氏。但是,indexOf()无法识别空格并且只返回-1。为什么?谢谢。 以下是PracticeIt的提示: 编写一个名为process Name的方法,该方法接受控制台的Scanner作为参数,并提示用户输入他或她的全名,然后以相反的顺序打印名称(即姓氏、名字)。您可以假设只会给出名字和姓氏。您应该
为什么会这样?并不是说我绝对需要一个测试方法,我只是好奇而已。当您生成测试方法时,Visual Studio 2012不会给出警告或错误,即使它将无法运行。..
这是一段代码 这将向控制台提供以下结果: 这意味着第一个中的链被识别为空链。 另一方面,Reactor具有以下类MonoEmpty,该类由Mono返回。empty()方法。除此之外,该方法还包括以下内容: 没有发出任何项,但我用方法发出了类型化对象。 对此有何解释?
我用PHP编写了这个脚本: $lang是en。但是当我调用函数如as
在PhpStorm的最新版本(2018年)中,所以它在项目的2017年版本中,我有一个名为<code>User_model的文件。php</code>,并且PhpStorm不将其识别为php文件,而是将其识别成纯文本文件。 但它并不总是如此;我最近才注意到。 我意识到问题出在文件名中()。因为只要我更改文件名(例如,),该文件就会立即被识别为php文件。 是不是(< code>User_model
这是我的代码: 爪哇说: File.java:[92,141]不兼容的类型:java.lang.对象不能转换为捕获#1?扩展java.lang.对象 列141是中的。 为什么这个不会编译?