public static class DataBean {
private int value;
private BigDecimal name;}
public class ChartData {
private Integer time;
private BigDecimal result;}
我需要类似于如下的操作,
List<ChartData> data = getdata();
List<SeriesBean.DataBean> yValue = data.stream().map(item -> (SeriesBean.DataBean) item);
报错不可转换的类型,DataBean是个内部静态类。
C++里面有reinterpret_cast可以强转,java应该有相应的方法的
Apache Commons 的
都有提供BeanUtils
和 Spring 的BeanUtils
都有提供copyProperties
和 Spring 的copyProperties
方法,作用是将一个对象的属性的值赋值给另外一个对象,但前提是两个对象的属性类型且名字
BeanUtils
相同。比如使用 Apache Commons 的 :
ChartData
和DataBean
所以如果
的属性名称一致,你的代码可以这样写(就不用挨个属性的写 setter 方法了):🎜 🎜当然,需要注意的一点是,这是使用反射实现的,效率要比直接写 setter 方法要低一些。🎜雷雷
强转只能父类转子类,你这就老实点一个个字段set过去就好了
楼主学习一下 Java 的类型转换啊。这种条件下,不能强转的。