【问题标题】:Concating a String from an arraylist连接数组列表中的字符串
【发布时间】:2011-08-23 16:40:45
【问题描述】:

我有一个数组列表 ArrayList<String> firstname; 在其中我存储了 n 个从 xml 文件中解析的名称。

现在我需要从这个 ArrayList 中获取所有名称并将其存储在一个单独的 String names 以及每个名称之间的 slash(/)

For eg firstname= {a, c,f,g,h,j,k}

现在我希望它是如下名称= a/c/f/g/h/j/k

到目前为止,我已经创建了一个 for 循环,通过它的大小从 ArrayList 中获取值

String names;
 for(int k=0;k<Appconstant.firstname.size();k++) {
    names = Appconstant.firstname.get(k);
 }

【问题讨论】:

  • 旁注:为什么 java 没有内置的 String.join()? >.

标签: java android string arraylist


【解决方案1】:
String names = TextUtils.join("/", Appconstant.firstname);

【讨论】:

    【解决方案2】:
    String names;
     for(int k=0;k<Appconstant.firstname.size();k++)
           {
            if(k<=Appconstant.firstname.size()-1)
                names += Appconstant.firstname.get(k)+"/";
            else
               names += Appconstant.firstname.get(k)
          }
    

    虽然您应该改用 StringBuilder。

    【讨论】:

    • 你在开玩笑吗?!你想让我为一行代码添加一个 Jar 吗?!这不像我在这里设计火箭!如果这是一个公司项目和请求,那也是一个愚蠢的请求,仅仅为几行代码添加一个新的 jar 被拒绝了?
    • Textutils 是 android.text 的一部分,并在一行短代码中提供了干净且可重用的解决方案,它不需要任何额外的 jars(它是 android.jar 的一部分,因为 API 级别 1),只是一个eclipse 协助的包导入。只有受虐狂才会在每次需要时重写您的解决方案,因为必须阅读它才能理解行为。它很容易引入错误,从而浪费时间和金钱,因此您的论点是有缺陷的。作为公司董事,我会解雇任何编写 8 行代码的人,只要 1 行就足够了。代码应易于阅读、可维护且无错误。
    【解决方案3】:

    在我的脑海中,但是是这样的:

    StringBuilder builder = new StringBuilder();
    for(String name : firstname)
    {
        builder.append(name).append('/');
    }
    // Remove last '/'
    builder.deleteCharAt(builder.length()-1);
    

    【讨论】:

      【解决方案4】:
      StringBuilder myStrBuilder = null;
      
      for(String aName:yourNameList)
      {
        myStrBUilder.append(aName+"/");
      }
      
      myStrBuilder.deleteCharAt(myStrBUilder.length()-1) 
      

      【讨论】:

      • ROFL .. 这就像一场激烈的比赛.. 不要问太多这样的问题.. :D
      • 别忘了抓住那个 NPE
      猜你喜欢
      • 1970-01-01
      • 2015-01-08
      • 2017-04-24
      • 2018-01-13
      • 1970-01-01
      • 1970-01-01
      • 2017-09-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多