Reg*_*Reg 5 java whitespace spaces
乍一看,这似乎是不费脑子的.它可能是,但有一些事情让我觉得我可能会遗漏一些东西.首先,Character.isWhitespace的Java文档似乎将其排除在外.对于什么是什么以及什么是不允许作为空白的定义似乎是非常明确的('当且仅当')并且第一行不是不间断的空间.
我一直认为一个普通的"空间" - 当你按空格键时你得到的东西 - 作为一个不间断的空间.
那么它在哪里适合列表呢?该列表在这个问题的最高评价答案中被认为是确定的- 我只是读错了吗?此外,这个问题的第一个评论者似乎有他的疑虑(在不同的背景下).然而,当我构造一个简单的代码来测试时,它表明正常空间是一个空白的实例,正如人们所期望的那样.
import static java.lang.Character.isWhitespace;
public class WhitespaceCheck {
public static void main(String[] args) {
Character test = ' ';
if (Character.isWhitespace(test)) {
System.out.println("Is whitespace!" );
} else {
System.out.println("Is not whitespace!" );
}
}
}
Run Code Online (Sandbox Code Playgroud)
所以,我是否错误地阅读了列表中的第一个项目,它是否在列表中的其他位置,或者列表本身是错误的?
Tim*_*m B 12
你误会了; 不间断的空间可以防止换行.它是一种特殊类型的空间,而不是一个允许换行的"正常"空间.如果"正常"空间是一个不间断的空间,那么当你到达屏幕边缘时线条永远不会换行,除非你每次都按下手动返回.
第一行说:
它是一个Unicode空格字符(SPACE_SEPARATOR,LINE_SEPARATOR或PARAGRAPH_SEPARATOR),但也不是一个不间断的空格('\ u00A0','\ u2007','\ u202F')
可在此处找到SPACE_SEPARATOR所涵盖的unicode空白列表:
https://en.wikipedia.org/wiki/Whitespace_character
SPACE_SEPARATOR的文档说它指的是一类Unicode字符,而不是特定字符.标题的"正常"空间(通常由空格键产生的空间)包含在此类别中.
| 归档时间: |
|
| 查看次数: |
154 次 |
| 最近记录: |