不同List中的值放入对象的方法实例

一种为

List的取值,返回一个list,把list的值放到一个对象displayBean里,list的值为二维数组如{CATEGORYCODE=1170, CATEGORYNAME=別2-42 麻薬},把CATEGORYCODE与CATEGORYNAME
放到数组里,然后set到对象里。
DisplayBean displayBean = new DisplayBean();
//返回的list
List result = displayTabDAO.queryDisplay(g);     
  for (int i=0;i<result.size();i++) {
         System.out.println("#########################"+result.size());
         System.out.println(result.get(i).getClass());
         String[] vo = (String[]) result.get(i);
//set到对象
         displayBean.setCategoryCode(vo[0]);
         displayBean.setCategoryName(vo[1]);
        System.out.println("%%%%%%%%%%%%%%T"+displayBean.getCategoryCode());
            System.out.println("%%%%%%%%%%%%%%T"+displayBean.getCategoryName());
        }

另一种为

返回类型list中存的是HashMap类型,将map中的值取出放到对象里。
//返回list
 List result = displayTabDAO.queryDisplay(g);
//对象
  DisplayBean displayBean = new DisplayBean();
  for(int i=0;i<result.size();i++){           
         Map<String,String> vo = (Map<String, String>) result.get(i);
         System.out.println(vo.keySet().iterator().next());
         vo.keySet().iterator().hasNext();
         System.out.println(vo.keySet().iterator().next());
         System.out.println("###"+vo.get("CATEGORYCODE"));
         System.out.println("###"+vo.get("CATEGORYNAME"));
            displayBean.setCategoryCode(vo.get("CATEGORYCODE"));
            displayBean.setCategoryName(vo.get("CATEGORYNAME"));
         System.out.println(displayBean.getCategoryCode());
         System.out.println(displayBean.getCategoryName());
        } 

这个问题涉及到Java编程的容器工厂和静态代码块的使用。在Java编程,容器工厂是一种用于管理对象的框架,其包括Map、List、Set等容器类型。而静态代码块是在类被加载时执行的代码块,通常用于初始化静态变量。 在这个问题,我们需要在静态代码块初始化整个容器工厂,并将properties文件配置的对象创建实例放入Map。具体的实现步骤如下: 1. 定义一个静态的Map对象,用于存储配置文件对象。 2. 在静态代码块,读取properties文件的配置信息,并根据配置信息创建相应的对象实例。 3. 将创建好的对象实例放入Map,以便后续使用。 示例代码如下: ``` public class ContainerFactory { // 定义静态的Map对象,用于存储配置文件对象 private static Map<String, Object> container = new HashMap<>(); static { // 读取properties文件的配置信息 Properties props = new Properties(); InputStream in = ContainerFactory.class.getResourceAsStream("/config.properties"); try { props.load(in); } catch (IOException e) { e.printStackTrace(); } // 根据配置信息创建相应的对象实例 String className1 = props.getProperty("class1"); Object obj1 = null; try { obj1 = Class.forName(className1).newInstance(); } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) { e.printStackTrace(); } container.put("obj1", obj1); String className2 = props.getProperty("class2"); Object obj2 = null; try { obj2 = Class.forName(className2).newInstance(); } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) { e.printStackTrace(); } container.put("obj2", obj2); // 其他配置项的处理类似 } // 对外提供获取对象方法 public static Object getObject(String name) { return container.get(name); } } ``` 在上面的示例代码,我们首先定义了一个静态的Map对象 container,用于存储配置文件对象。然后在静态代码块,读取配置文件的配置信息,并根据配置信息创建相应的对象实例,将创建好的对象实例放入Map。最后,我们对外提供了一个获取对象方法 getObject,通过指定对象的名称获取对应的对象实例
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值