Java Synat error-表达式的类型必须是数组类型,但已解析为字符串
我在用Java Synat error-表达式的类型必须是数组类型,但已解析为字符串,java,syntax,Java,Syntax,我在用数据[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; } }
数据[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;
}
}
}
字符串数据;//有价值
ArrayList byteArr=txfCheck.getFilterByteArray();
对于(int i=0;i
我应该如何检查它呢?嗯,是的-
数据
是一个字符串
,不能在字符串上使用像数据[I]
这样的索引表达式
也许你想要:
if (b.toString().equals(data.substring(i, i + 1))
虽然还不清楚这是个好主意Byte.toString
可能无法实现您期望的功能。也许你真的想要:
if ((char) b == data.charAt(i))
?是的-
数据
是一个字符串
,不能在字符串上使用像数据[i]
这样的索引表达式
也许你想要:
if (b.toString().equals(data.substring(i, i + 1))
虽然还不清楚这是个好主意Byte.toString
可能无法实现您期望的功能。也许你真的想要:
if ((char) b == data.charAt(i))
?用于将字符串视为char[]
并在索引i
处检索char
然后要使equals()
起作用,请将它们作为字符串进行比较
if (b.toString().equals(data.charAt(i)+"")
或者,将它们作为字符进行比较
if ((char) b == data.charAt(i))
用于将字符串视为char[]
并在索引i
处检索char
然后要使equals()
起作用,请将它们作为字符串进行比较
if (b.toString().equals(data.charAt(i)+"")
或者,将它们作为字符进行比较
if ((char) b == data.charAt(i))
你也可以用
b.toString().equals(data.charAt(i));
你也可以用
b.toString().equals(data.charAt(i));
请格式化您的代码并完成它。请提供一些代码并告诉我们您是如何试图解决它的。如果数据是字符串,那么数据[i]将在语法上不正确。请格式化您的代码并完成它。请提供一些代码并告诉我们您是如何试图解决它的。如果数据是字符串,那么数据[i]将在语法上不正确