将String转换为Char数组时出错

时间:2014-10-07 15:33:20

标签: java arrays string char

我试图将String转换为char数组,以便我可以通过char搜索char:

char[] arr = new char[str.length()];
for (i = 0; i < str.length(); i++) {
    arr[i] = str.charAt(i);
}
do {
    //   Something
} while (arr[i] != " ");

但是最后一行在Eclipse中出现了这个错误:

  

不兼容的操作数类型Char和String

即使我使用方法toCharArray,错误仍然存​​在。任何人都可以向我解释原因吗?

2 个答案:

答案 0 :(得分:7)

" "是一个字符串,而charAt返回基本类型char。您无法将这两种类型与==进行比较。而是使用代表空格的char,这样您最终会得到char == char,这样可以正常工作。使用

while(arr[i]!=' ');

while(!Character.isSpaceChar(arr[i])); 

答案 1 :(得分:0)

您应该使用:

while(arr[i] != ' ') // Single quotation marks.
{
    // Code
}  

while(!Character.isSpaceChar(arr[i])) {

    // Code
}

Java不是PHP Java中的单引号可以严格只包含一个字符。虽然双引号严格用于表示字符串。