BeanUtils.getProperty取得集合全部数据

 
 

订单类

public class Order{
  
  private String sn;
/** 订单项 */
private List<OrderItem> orderItems = new ArrayList<OrderItem>();
  ...
  get set方法
  ...
}

 

订单项类

public class OrderItem{

/** 商品编号 */
private String sn;

/** 商品名称 */
private String name;
 
...
  get set方法
  ...
}

 

在利用BeanUtils.getProperty取得数据时

Order order = getOrder();

String[] properties = {"sn","orderItems[0].name""}

for (int i = 0; i < properties.length; i++) {

  System.out.println(BeanUtils.getProperty(Order,properties[i]););

}

 

 

取得集合orderItems的相关数据时,利用BeanUtils.getProperty(Object bean, String name) 方法,必须有集合的索引(orderItems[0]),如果想把orderItems全部数据输出,BeanUtils.getProperty做不到;

orderItems为空是,还会报空指针异常,我想到了下面这种比较笨的方法:

Order order = getOrder();

String[] properties = {"sn","orderItems"}

for (int i = 0; i < properties.length; i++) {

  System.out.println(BeanUtils.getProperty(Order,properties[i]););

  StringBuilder stringBuilder = new StringBuilder();

    if(properties[i].equals("orderItems")){ // 属性为订单项集合时

       StringBuilder stringBuilder = new StringBuilder();

       List<OrderItem> orderItemList = order.getOrderItems();

       for(OrderItem orderItem:orderItemList){

          stringBuilder = stringBuilder.append(orderItem.name() );

          stringBuilder = stringBuilder.append(" | ");
       }
     }

}

 

 

 

 

 

 



转载于:https://www.cnblogs.com/runyu/p/4958230.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值