我试图将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
,错误仍然存在。任何人都可以向我解释原因吗?
答案 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
中的单引号可以严格只包含一个字符。虽然双引号严格用于表示字符串。