如何比较一个字符以检查它是否为空?
我尝试了下面的内容,但Eclipse为此抛出了一个错误。
while((s.charAt(j)== null)
检查字符是否为null
的正确方法是什么?
在进行任何字符检查之前,请检查String
s
是否为null
。 String#charAt
返回的字符是原始char
类型,永远不会为null
:
if (s != null) { ...
如果您尝试一次处理String
1中的字符,则可以使用:
for (char c: s.toCharArray()) { // do stuff with char c }
(与C
不同, NULL
终止符检查不是在Java中完成的。)
这里实际描述了检查char
正确方法。
它指出:
将其更改为:
if(position[i][j] == 0)
每个char
都可以与int
进行比较。 默认值为'\u0000'
即char
数组元素为0。 我认为这正是你对空单元的意思。
char原语的默认值为0,作为其ascii值。 你可以检查char是否为null。 例如:
char ch[] = new char[20]; //here the whole array will be initialized with '\u0000' ie 0 if((int)ch[0]==0){ System.out.println("char is null"); }
我们无法检查字符是否为空,因为字符是原始数据类型。
如果s
是一个字符串且不为null,那么您必须尝试将“space”与char进行比较。 你认为“空间”不是一个角色,空间只是null
,但事实是空间是一个角色。 因此,使用而不是null
(这是一个空格)来比较角色。