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

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

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

检查字符是否为null的正确方法是什么?

在进行任何字符检查之前,请检查String s是否为nullString#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 (这是一个空格)来比较角色。