如何比较一个字符来检查它是否为空?
检查在进行任何字符检查之前,String
s
不是null
。通过String#charAt
返回的字符以原始char
类型,将来也不会null
:
if (s != null) {
...
如果你想在同一时间处理来自String
一个字符,你可以使用:
for (char c: s.toCharArray()) {
// do stuff with char c
}
(不像C
,NULL
终止器检查不是在Java中完成的。)
如果s
是一个字符串且不为空,那么您必须尝试g比较“空格”与char。你认为“空间”不是一个角色,空间只是null
,但事实是空间是一个角色。因此,而不是null
,使用(这是一个空格)来比较字符。
除了这个问题是2.5岁,我发现它*高度*不太可能是他们正在寻找一个空间。 – 2015-07-12 13:31:40
我们无法检查字符是否为空,因为字符是基本数据类型。
这个检查是字符是空格。 'char'不能为'null',因为'char'是一个原始类型。 – Jesper 2015-08-10 13:23:00
谢谢@Jesper你是对的 – 2015-08-11 06:05:42
正确的检查方式char
实际上是here。
它指出:
将其更改为:
if(position[i][j] == 0)
每个char
可以与int
比较。 默认值是'\u0000'
,即对于char
数组元素为0。 而这正是你所说的空单元,我假设。
char元素的默认值为0,ascii值。 你可以检查字符是否为空。例如:
char ch[] = new char[20]; //here the whole array will be initialized with '\u0000' i.e. 0
if((int)ch[0]==0){
System.out.println("char is null");
}
'char'不能为空,因为它不是引用类型。这是一个原始的。 – xenteros 2017-09-29 07:45:58
'char'是一个原始的。 'null'保留为未分配的引用。 – madth3 2013-02-13 01:07:55
是's'字符串?如果这样's.charAt'将返回原始类型'char',而不是对象'Character',所以它不能为空。 'char'数组的默认值是''\ u0000''或者更简单的''\ 0''。你甚至可以使用's.charAt(j)== 0' – Pshemo 2013-02-13 01:09:18
你想检查字符串的结尾吗? – madth3 2013-02-13 01:11:44