我在使用data[i]
String data; // has value
ArrayList<Byte> byteArr = txfCheck.getFilterByteArray();
for (int i = 0; i < data.length(); i++) {
for (Byte b : byteArr) {
if (b.toString().equals(data[i])) {
break;
}
}
}
我应该如何检查?
答案 0 :(得分:6)
是的 - data
是String
,您不能在字符串上使用data[i]
之类的索引表达式。
也许你想要:
if (b.toString().equals(data.substring(i, i + 1))
虽然目前还不清楚这是个好主意。 Byte.toString
可能不会按照您的预期执行。也许你真的想要:
if ((char) b == data.charAt(i))
答案 1 :(得分:0)
使用String#chatAt()将字符串视为char[]
,并在索引char
处检索i
。
然后让equals()
工作,或者将它们比作字符串
if (b.toString().equals(data.charAt(i)+"")
或者,将它们比作字符
if ((char) b == data.charAt(i))
答案 2 :(得分:0)
您也可以使用,
b.toString().equals(data.charAt(i));