我尝试了以下方法,但 Eclipse 为此抛出了一个错误。
while((s.charAt(j)== null)
检查字符是否为 的正确方法是null
什么?
在进行任何字符检查之前检查是否String
s
不是。null
返回的字符String#charAt
是原始char
类型,永远不会是null
:
if (s != null) {
...
如果您尝试String
一次处理一个字符,您可以使用:
for (char c: s.toCharArray()) {
// do stuff with char c
}
(与 不同C
,NULL
Java 中不进行终结符检查。)
char 原语的默认值是 0 ,作为它的 ascii 值。您可以检查 char 是否为空。例如:
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");
}
这里char
实际上描述了正确的检查方法。
它指出:
将其更改为:
if(position[i][j] == 0)
每个char
都可以与int
. 数组元素的默认值为'\u0000'
0 。char
我猜这正是你所说的空单元格的意思。
您可以使用空字符 ( '\0'
):
while((s.charAt(j)=='\0')
如果s
是字符串并且不为空,那么您必须尝试将“空格”与字符进行比较。你认为“空间”不是一个字符,而空间只是null
,但事实是空间是一个字符。因此,代替null
,使用(这是一个空格)与字符进行比较。