9

我尝试了以下方法,但 Eclipse 为此抛出了一个错误。

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

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

4

5 回答 5

12

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

if (s != null) {
  ...

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

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

(与 不同CNULLJava 中不进行终结符检查。)

于 2013-02-13T01:09:12.177 回答
10

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");
    }
于 2016-09-08T12:33:51.863 回答
8

这里char实际上描述了正确的检查方法。

它指出:

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

于 2015-10-09T18:56:53.200 回答
2

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

while((s.charAt(j)=='\0')
于 2020-08-19T10:14:44.150 回答
-2

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

于 2015-07-12T13:27:02.720 回答