java将数据转换为集合,Java List Object[]转换成List T的实例

一)背景

主要是为了实现数据之间的转换,方便数据展示。

使用场景:当数据可能是List类型,可能会需要转换成具体的List格式。

二)List转换成List

功能:传入List数据和需要转换的Class对象,返回一个List数据集合

实现方式:Java反射方式,使用的是构造器的方式

缺点:实体类中必须有无参数构造器,有参数构造器,且构造器参数的顺序和数据的顺序必须一致。如果数据格式有变化,需要重新编写一个实体类的构造器

实现源码:

?

三)实体类PhoneVO.java

?

四)数据转换测试类

?

数据转换打印效果图:

978ce8ececc39da82f9e29e269bffddc.png

补充知识:List、List<Object>、List<?>的区别

通过一个例子来比较这几种写法的区别

ad78b35e3cc1d97128b75f8c0f2dbb34.png

?

1、第一段:定义了一个没使用泛型的List a1,向a1中添加不同类型的元素,所有功能都可以正常使用,但使用时会有类型强制转换异常的风险。

2、第二段:把a1赋值给List类型的a2,再往a2添加不同类型元素,不会编译报错,看似a2与a1没有区别,但是如果尝试把一个带有其它类型泛型(List)的b2赋值给a2,则会编译报错,除非让泛型保持一致。

这也是List与List的区别:泛型之间只有同类型才能相互赋值。

3、第三段:把a1赋值给List类型的a3,赋值过程没有编译报错,主要为了向前兼容(泛型jdk1.5之后才出现),但如果直接用Integer类型取值,会报类型转换异常。因为a3有了泛型约束,再添加其它类型元素,则会编译报错。

4、List>是通配符集合,一般作为参数来接收外部的集合,或者返回一个不知道具体元素类型的集合。它可以被任何类型的集合引用赋值,也可以删除元素。但是因为类型的不确定,所有不能添加非null元素(null属于任何类型)。

以上内容根据《码出高效Java开发手册》学习整理。希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/p812438109/article/details/81190087

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值