如何将arrayList转换为由连字符分隔的字符串

时间:2016-05-06 15:32:53

标签: java string

我有String ArrayList有一些元素但我需要将它转换为字符串每个元素与其他元素分开 - 这是arrayList

List<String> items = new ArrayList<String>();
items.add("a");
items.add("b");
items.add("c");
:
:

我需要得到像这样的字符串

  

&#34; A-B-C -...&#34;

7 个答案:

答案 0 :(得分:12)

如果您使用的是Java 8,则可以使用join类的String函数:

String result = String.join("-", items);

如果您使用的是Android编程,则Java 8不可用。您可以改为使用:

String result = TextUtils.join("-", items);

答案 1 :(得分:4)

一行:

String allItems = String.join("-", items);

文档为here

答案 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;
}