这是我的java代码,这里我必须在字符串数组项类型中添加一个字符串“RFID”,我必须将它存储在另一个字符串数组项中。但我得到一个错误。
String[] itemtype;
String[] item;
\...........
.........../
try {
response = (SoapPrimitive) envelope.getResponse();
Koradcnos = response.toString();
} catch (SoapFault e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
itemtypes = Koradcnos.split(";");
item=itemtypes+"RFID";//here im getting error
} catch (Exception er) {
//Helper.warning("Error", er.toString(),this);
}
imageId = new int[itemtypes.length];
for (int i = 0; i < itemtypes.length; i++)
if (itemtypes[i].equals("Yarn")) {
imageId[i] = R.drawable.yarnitem;
答案 0 :(得分:1)
你需要解决这个问题:
使用Arrays.copyOf
item = Arrays.copyOf(itemtypes , itemtypes.length + 1);
item[item.length - 1] = "RFID";
或从Koradcnos
item = (Koradcnos + ";RFID").split(";");
答案 1 :(得分:0)
itemtypes
是String数组,无法修改,如果要获取添加其他元素的新数组,可以使用System.arrayCopy
System.arraycopy(Object src,
int srcPos,
Object dest,
int destPos,
int length)
像这样:
item = new String[itemtypes.length+1];
System.arraycopy(itemtypes,0,item,0,itemtypes.length);
item[itemtypes.length] = "RFID";
答案 2 :(得分:0)
您不能将字符串与列表连接String.split()
方法返回String数组。
而不是item=itemtypes+"RFID"
遍历数组:
for (int i=0; i < itemtypes.length(); i++) {
item[i] = itemtypes[i] + "RFID";
}
另外,我认为变量名称为itemtypes
而不是itemtype