3

我正在尝试创建一个方法,该方法将接收 ArrayList 上的字符串,然后将文本添加到每个字符串的开头。例如如果我有一个名称 {jon, jimmy, kyle} 的 ArrayList。我希望该方法将“早安”放在名称之前的字符串中。所以它会返回“早安,乔恩”,早安,吉米“,“早安,凯尔”。我已经搜索并找到了附加,但它似乎是一个数组而不是数组列表。我真的不能甚至找到一个好的起点。任何帮助将不胜感激。谢谢。

真的没有用的代码,但至少它的东西。

 public adding(ArrayList<String> al)
    {
        StringBuilder us = new StringBuilder();
           us.append("("+al[0]);
           for(int i = 1; i < al.length;i++) 
           {
              us.append("Good Morning, " + al[i]);
           }
           return us;
    } 
4

4 回答 4

3

字符串是不可变的。因此,您必须在列表中再次设置该值。

public void adding(ArrayList<String> al){
        for(int i = 0; i < al.size();i++){                  
              al.set(i,"Good Morning, "+al.get(i));
        }
}
于 2013-09-19T14:25:56.053 回答
2

试试这个

public void adding(ArrayList<String> al)
{
       for(int i = 0; i < al.size();i++) 
       {
          al.set(i,"Good Morning , "+al.get(i));
       }
}
于 2013-09-19T14:27:41.147 回答
0

看到这个

http://docs.guava-libraries.googlecode.com/git-history/release/javadoc/com/google/common/base/Joiner.html#appendTo(A , java.lang.Iterable)

于 2013-09-19T14:28:49.660 回答
0

您可以使用具有 StringUtils 类的 Apache Commons Lang。它有一个连接函数,可以将数组连接在一起形成一个字符串。

例子:

String result="Good morning ";
result +=StringUtils.join(new String[] {"jon", "jimmy", "kyle"}, ", Good morning ");

join() 函数接受 Iterable 对象,因此它也适用于列表。

于 2013-09-19T14:43:12.327 回答