我有一个用于创建“单元”的自定义类。创建单元后,我将它们存储在ArrayList中。但是当我试图重新获得这些值时,我会在字符串之前得到一些奇怪的东西。
if (data.isSelected()) {
response.add(data.getName() + "," + data.getSerialNumber());
}
返回:
[��BMW 320d Xdrive, 222201176��]
有没有人知道这些来自哪里,我该如何解除它们? 请告诉我是否需要提供更多代码。
编辑:
public ArrayList<SampleData> dataList;
System.out.println("Confirming data: " + valArr[i]); // here the chracters are normal
dataList.add(new SampleData(valArr[0].replace("[", "\0"), valArr[1].replace("]", "\0"), false));
System.out.println("Trying: " + dataList.get(i).toStrings()); // here i get the wierd "?" signs.
答案 0 :(得分:3)
\0
不是可打印字符。请勿将[]
替换为\0
,否则不会显示。。
修改强>
如果要删除括号[]
,请使用
valArr[0].replace("[", "")
答案 1 :(得分:0)
您可以按如下方式删除 。可能是字符编码问题。它具有Unicode值0xFFFD
String returnStr="[��BMW 320d Xdrive, 222201176��]";
System.out.println(returnStr.replaceAll("\\[|\\]|\\�",""));