Java 如何比较字符以检查其是否为空?
我尝试了下面的方法,但是Eclipse为此抛出了一个错误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
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
,而不是objectCharacter
,因此它不能为空。char
数组的默认值为'\u0000'
或更简单的'\0'
。您甚至可以使用s.charAt(j)=0
是否要像在C中一样检查字符串的结尾?除此之外,这个问题已经存在2.5年了,我发现他们很可能不在寻找空格。char
不能为null,因为它不是引用类型。这是原始的。
while((s.charAt(j)=='\0')