黑马程序员技术交流社区

标题: arraylist与二维数组转换? [打印本页]

作者: NUMONE    时间: 2015-12-20 22:23
标题: arraylist与二维数组转换?
将 ArrayList<People> 转换位二维数组  String arr[][]?  

作者: 一个人走天下    时间: 2015-12-21 10:29
People他的实现类是什么啊

作者: NUMONE    时间: 2015-12-23 21:21
public class Goods {
        private String number;
        private String name;
        private double price;   //Integer 与 int的区别
        private String  unit;
}
public static String [][] list2arr(ArrayList<Goods> goods){
                String [][] tbody = new String[goods.size()][4];       
                for (int i = 0; i < goods.size(); i++) {
                                Goods g=goods.get(i);
                                tbody[i][0]=g.getNumber();
                                tbody[i][1]=g.getName();
                                tbody[i][2]=g.getPrice()+"";
                                tbody[i][3]=g.getUnit();
                        }
                return tbody;
        }
作者: NUMONE    时间: 2015-12-23 21:28
public class Goods{
//在domain类中定义一个将good转为一维数组的方法
public String[] toStringAry(){
        String[] ary=new String[4];
        if(number!=null)
            ary[0]=number;
        if(name!=null)
            ary[1]=name;
        if(price!=null)
            ary[2]=price;
        if(unit!=null)
                ary[3]=unit;
        return ary;
    }
}
---------使用时---------
String[] thead = { "水果编号", "水果名称", "水果单价", "计价单位" };
                String [][] tbody=new String [goods.size()][];
                for (int i = 0; i < goods.size(); i++) {
                         Goods temp=goods.get(i);
                         tbody[i]=temp.toStringAry();  //在这里使用
                }
作者: NUMONE    时间: 2015-12-23 21:50
藤椅 楼   是方法一  推荐使用方法一
板凳 楼   是方法二
作者: 胆小的狙击手    时间: 2015-12-24 22:13
我认为转成二维数组不应该把内层数组的长度固定,这样耦合度太高了,万一实体类的属性增加或减少,代码需要做很大的修改
作者: NUMONE    时间: 2015-12-24 22:20
楼上坐地板的分析的有道理
我是根据自己定义的domian实体类具体情况分析的。暂时想不到更好的方法了
楼上坐地板的有什么高见,请指教啊
作者: 云鱼    时间: 2016-1-1 00:28
遍历再存入




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2