【发布时间】:2014-10-07 15:33:20
【问题描述】:
我正在尝试将 String 转换为 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,错误仍然存在。谁能给我解释一下为什么?
【问题讨论】:
-
如果你想逐字分析字符串,我认为你应该看看正则表达式和 String.split。
-
toCharArray将工作,但您目前正在考虑比较字符串值(不是字符)。只需将您的最后一行更改为}while(arr[i]!=' ');,您就可以起飞了! -
我看不出转换为
char[]将如何帮助您逐字搜索。String有很多方法可以轻松处理字符序列——indexOf、substring,以及已经提到的split和正则表达式,您不能在char[]上使用。 -
你正在比较 char arr[i] 和字符串 " ",使用单引号
-
@MurtazaZaidi 在您发表评论时使用“反引号”(反引号)字符,围绕看起来像代码的内容,将有助于避免引号等内容的可读性问题。反引号通常与
~在同一个键上。在要显示为“代码”的文本的每一侧添加一个反引号。