【发布时间】:2013-09-24 16:41:23
【问题描述】:
我正在尝试创建一个方法,该方法将接收 ArrayList 上的字符串,然后将文本添加到每个字符串的开头。例如如果我有一个名称 {jon, jimmy, kyle} 的 ArrayList。我希望该方法将“早安”放在名称之前的字符串中。所以它会返回“早安,乔恩”、“早安,吉米”、“早安,凯尔”。我已经搜索并找到了 append,但它似乎是用于数组而不是数组列表。 我什至找不到一个好的起点。任何帮助将不胜感激。谢谢。
代码真的没用,但至少它的东西。
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;
}
【问题讨论】:
-
字符串是不可变的,因此您必须再次添加到列表中并删除以前的字符串 xD
-
另外,你为什么在 for 循环中从 i=1 开始循环?它应该是 i=0
-
值得注意的是,您的设计决策本身可能存在缺陷。为什么你需要在他们的名字之前存储“早安”?最好只保留 AL(唯一部分)中的名称,并且每当您想在前面打印 Good Morning 时,然后在该点与字符串连接。只是我的 2 美分。