我有一个这样的数组:["one", two"]
如果我array.toString().replace("[", "").replace("]", "").trim();
,
我会:"one, two"
我真正想要的是"one", "two"
我该怎么做?
修改
这是一个解释我问题的简单程序:
ArrayList<String> array = new ArrayList<>();
array.add("one");
array.add("two");
String stringArray = array.toString().replace("[", "").replace("]", "");
Gson gson = new Gson();
String json = gson.toJson(stringArray);
System.out.println(json);
答案 0 :(得分:1)
您可以尝试使用
array.stream().map(s->"\""+s+"\"").collect(Collectors.joining(", "));
首先用引号括住每个字符串,然后使用,
对于Java 7
String delimiter = ", ";
StringBuilder sb = new StringBuilder();
if (!array.isEmpty()) {
sb.append('"').append(array.get(0)).append('"');
}
for (int i = 1; i < array.size(); i++) {
sb.append(delimiter).append('"').append(array.get(i)).append('"');
}
String result = sb.toString();
答案 1 :(得分:0)
好吧,只需用额外的array.toString().replace("[", "").replace("]", "").trim().replace(", ", "\", \"")
替换逗号
Snackbar.make(findViewById(R.id.root_layout), result, Snackbar.LENGTH_LONG)
.setAction("Dismiss", new View.OnClickListener() {
@Override
public void onClick(View v) {
}
}).show();
(未经测试,但你明白了)