如何比较一个字符以检查它是否为空?

时间:2013-02-13 01:05:20

标签: java

我尝试了下面的内容,但Eclipse为此抛出了一个错误。

while((s.charAt(j)== null)

检查角色是否为null的正确方法是什么?

6 个答案:

答案 0 :(得分:9)

在进行任何字符检查之前,请检查String s是否为nullString#charAt返回的字符是原始char类型,永远不会是null

if (s != null) {
  ...

如果您尝试一次处理String个字符,则可以使用:

for (char c: s.toCharArray()) {
   // do stuff with char c  
}

(与C不同,NULL终止符检查不是用Java完成的。)

答案 1 :(得分:6)

检查char的正确方法实际上是here

它声明:

  

将其更改为:if(position[i][j] == 0)   每个char都可以与int进行比较。   默认值为'\u0000',即char数组元素为0。   而这正是你所说的空单元的意思。

答案 2 :(得分:6)

char原语的默认值为0,为ascii值。 你可以检查char是否为null。例如:

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");
    }

答案 3 :(得分:0)

我们无法检查字符是否为空,因为字符是原始数据类型。

答案 4 :(得分:0)

您可以使用空字符('\0'):

while((s.charAt(j)=='\0')

答案 5 :(得分:-2)

如果s是一个字符串且不为空,那么你必须尝试比较" space"与char。你认为" space"不是一个角色,空间只是null,但事实是空间是一个角色。因此,使用null(这是一个空格)代替来与字符进行比较。