Java 如何比较字符以检查其是否为空?

Java 如何比较字符以检查其是否为空?,java,Java,我尝试了下面的方法,但是Eclipse为此抛出了一个错误 while((s.charAt(j)== null) 检查字符是否为null的正确方法是什么?在执行任何字符检查之前,请检查字符串是否为null。String#charAt返回的字符是原始的char类型,并且永远不会为null: if (s != null) { ... 如果您试图一次处理一个字符串中的字符,可以使用: for (char c: s.toCharArray()) { // do stuff with char

我尝试了下面的方法,但是Eclipse为此抛出了一个错误

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

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

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

if (s != null) {
  ...
如果您试图一次处理一个
字符串中的字符,可以使用:

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

(与
C
不同,
NULL
终止符检查在Java中没有完成。)

如果
s
是字符串且不是NULL,则必须尝试将“空格”与字符进行比较。您认为“空格”不是字符,空格只是
null
,但事实是空格是字符。因此,使用
(一个空格)与字符进行比较,而不是
null

实际上描述了检查
字符的正确方法

它说:

将其更改为:
if(位置[i][j]==0)
每个
char
都可以与
int
进行比较。 默认值为
'\u0000'
,即
字符
数组元素为0。 我想这正是你所说的空牢房


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

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


char
是一个原语
null
保留给未分配的引用。是否为
s
字符串?如果是,则
s.charAt
将返回原语类型
char
,而不是object
Character
,因此它不能为空。
char
数组的默认值为
'\u0000'
或更简单的
'\0'
。您甚至可以使用
s.charAt(j)=0
是否要像在C中一样检查字符串的结尾?除此之外,这个问题已经存在2.5年了,我发现他们很可能不在寻找空格。
char
不能为null,因为它不是引用类型。这是原始的。
while((s.charAt(j)=='\0')