Java 更换阵列上的支架
我有一个这样的数组:Java 更换阵列上的支架,java,Java,我有一个这样的数组:[“一,二”] 如果我使用array.toString().replace(“[”,”).replace(“]”,”).trim();, 我要:“一,二” 我真正想要的是“一”、“二” 我该怎么做 编辑: 这是一个简单的程序来解释我的问题: ArrayList<String> array = new ArrayList<>(); array.add("one"); array.add("two"); String stri
[“一,二”]
如果我使用array.toString().replace(“[”,”).replace(“]”,”).trim();
,
我要:“一,二”
我真正想要的是“一”、“二”
我该怎么做
编辑:
这是一个简单的程序来解释我的问题:
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);
ArrayList数组=新的ArrayList();
数组。添加(“一”);
数组。添加(“两个”);
字符串stringArray=array.toString().replace(“[”,”).replace(“]”,”);
Gson Gson=新的Gson();
String json=gson.toJson(stringArray);
System.out.println(json);
好吧,用一些额外的“”替换逗号就行了
(未经测试,但您已经有了想法)您可以尝试使用
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();
字符串分隔符=“,”;
StringBuilder sb=新的StringBuilder();
如果(!array.isEmpty()){
sb.append(“”).append(array.get(0)).append(“”);
}
对于(int i=1;i
您想做什么?数组[0]
和数组[1]
?请注意,这很容易混淆:[“一”,二]
您完成了程序或要求解决方案。您的问题让人困惑。您的问题看起来像是什么。您能描述一下您试图实现的目标以及阻止您这样做的原因吗?我使用的是jdk 1.7,而不是1.8您必须使用1.7吗?Java 8是今天的标准版本。完美。这正是我所需要的。
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();