A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© NUMONE 中级黑马   /  2015-12-20 22:23  /  1082 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

将 ArrayList<People> 转换位二维数组  String arr[][]?  

7 个回复

正序浏览
遍历再存入
回复 使用道具 举报
NUMONE 中级黑马 2015-12-24 22:20:53
7#
楼上坐地板的分析的有道理
我是根据自己定义的domian实体类具体情况分析的。暂时想不到更好的方法了
楼上坐地板的有什么高见,请指教啊
回复 使用道具 举报
我认为转成二维数组不应该把内层数组的长度固定,这样耦合度太高了,万一实体类的属性增加或减少,代码需要做很大的修改
回复 使用道具 举报
藤椅 楼   是方法一  推荐使用方法一
板凳 楼   是方法二
回复 使用道具 举报
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();  //在这里使用
                }
回复 使用道具 举报
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;
        }
回复 使用道具 举报
People他的实现类是什么啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马