通过getParameterValues()从页面得到两组数据,两组数据长度不相等,要怎么样才能同时把两组数据保存到数据库中去呢?我是这样做的,用一个ArrayList<>集合装这个对象,而这个对象的两个属性就是上面所说的两组不同长度的数据,用for循环装入到集合中去,会出错...
各位大哥大姐...出点招啊~~~

解决方案 »

  1.   

    用事物   ,   可以控制同时提交数据和回滚。  
    而用List来储存两组数据的话要么用两个List来储存
    要么就只能声明个List<?>来储存,但是后者在取值的时候需要注意如果这List<?>这个?你指定了固定的类型变量  则只能储存相应的类型值
    如:         List list = new ArrayList();
            list.add(1);
            list.add("asdf");
            List<String> list1 = new ArrayList<String>();
            list1.add("sadf");
            list1.add("22");
            for(int i = 0;i < list.size();i++){
             System.out.println("list:"+list.get(i));
             System.out.println("list1:"+list1.get(i));
            }其中list是未明确指定类型,而list1则指定了为String类型。则list可以储存任何类型的值,但是list1只能储存String类型的值
      

  2.   

    其实,我是想这样的,List<?>集合中循环保存2个数组长度不等的数据。String[] s1 = new String[];
    String[] s2 = new String[];
    int len1 = s1.length;
    int len2 = s2.length;
    int len = 0
    if(len1 >= len2){
      len = len1;
    }else{
      len = len2;
    }
    ArrayList<T> a = new ArrayList<T>
    for(int i = 0; i < len; i++){
       a.add(s1[i]);
       a.add(s2[i]);
    }大致是这样,如果s1和s2的长度一样的话,可以正常插入,但是s1和s2长度不等的话,就不行~~
      

  3.   

    for(int i = 0; i < len; i++){
      if(i<s1.length){
      a.add(s1[i]);
      }
      if(i<s2.length){
      a.add(s2[i]);
      }
    }
    判断有木有?