我有String ArrayList有一些元素但我需要将它转换为字符串每个元素与其他元素分开 - 这是arrayList
List<String> items = new ArrayList<String>();
items.add("a");
items.add("b");
items.add("c");
:
:
我需要得到像这样的字符串
&#34; A-B-C -...&#34;
答案 0 :(得分:12)
如果您使用的是Java 8,则可以使用join
类的String
函数:
String result = String.join("-", items);
如果您使用的是Android编程,则Java 8不可用。您可以改为使用:
String result = TextUtils.join("-", items);
答案 1 :(得分:4)
答案 2 :(得分:2)
您可以使用google-guava中的Joiner
:
List<String> items = new ArrayList<String>();
items.add("a");
items.add("b");
items.add("c");
String result = Joiner.on("-").join(items);
这是链接 - https://github.com/google/guava/wiki/StringsExplained#joiner
答案 3 :(得分:2)
通过操纵toString
结果
public static void main(String[] args) {
List<String> items = new ArrayList<String>();
items.add("a");
items.add("b");
items.add("c");
System.out.println(items.toString().replace(", ", "-"));
// no [ ]
System.out.println(items.toString().substring(1, items.toString().length() - 1).replace(", ", "-"));
}
答案 4 :(得分:1)
var result = JsonConvert.DeserializeObject<ExpandoObject>(
json,
new JsonSerializerSettings {TypeNameHandling = TypeNameHandling.Auto});
答案 5 :(得分:0)
StringBuilder builder = new StringBuilder();
builder.append(items.get(0));
for (int i = 1; i < items.size(); i++) {
builder.append("-").append(items.get(i));
}
String result = builder.toString();
答案 6 :(得分:0)
您可以为此
创建一个简单的函数List<String> items = new ArrayList<String>();
items.add("a");
items.add("b");
items.add("c");
Log.d("myFormattedList",getFormattedString(items));
private String getFormattedString() {
String tempString = "";
for (String temp: items) {
tempString += temp;
}
tempString.substring(0,str.length()-1); //remove last char "-"
return tempString;
}