如何使用逗号将字符串添加到字符串数组

时间:2014-04-07 12:48:23

标签: java jsp

我创建了一个Web应用程序,用户在JSP表中输入数据,然后在用户点击Save时将数据存储在数据库中。

在这个应用程序中,我将所有列数据汇总到一行并存储在数组中,该数组被发布到INSERT页面以将数据插入到DataBase中。在那里,我使用","(逗号)分割数组中的所有元素 我在这里遇到的问题是,当用户在一个单独的列中输入带逗号的字符串时,在分割此数组的主题时间,数组大小增加到实际大小并获得ArrayIndexOutOfBoundsException

2 个答案:

答案 0 :(得分:0)

如果我理解正确如:

Collections.addAll(arrayList, input.split(","));

就像一个简单的例子:

String returnedItems = "a,b,c";
List<String> sellItems = Arrays.asList(returnedItems.split(","));

现在遍历列表并将每个项目附加到StringBuilder:

StringBuilder sb = new StringBuilder();
for(String item: sellItems){
    if(sb.length() > 0){
        sb.append(',');
    }
    sb.append(item);
}
String result = sb.toString();

<强> http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#split%28java.lang.String%29

<强> http://docs.oracle.com/javase/6/docs/api/java/util/Arrays.html#asList%28T...%29

答案 1 :(得分:0)

对用户输入的每个值添加分隔符,如$或;要么 : 然后将此值添加到数组中: value1 $ value2 $ something $ value 3 $

public static void main(String[] args) {
        ArrayList<String> bla = new ArrayList<String>();
        bla.add("1$");
        bla.add("2,3$");//2,3 is an one value
        bla.add("4$"); 
        ArrayList<String> newOne = new ArrayList<String>();

        for (int i = 0; i < bla.size(); i++) {

        String[] array = bla.get(i).split("$");
        newOne.addAll(new ArrayList<String>(Arrays.asList(array)));
        String fixed = newOne.get(i).substring(0, newOne.get(i).length()-1);
        newOne.set(i, fixed);




        }

        System.out.println(newOne);
        System.out.println(newOne.size());
    }