public static class DataBean {
private int value;
private BigDecimal name;}
public class ChartData {
private Integer time;
private BigDecimal result;}
Saya memerlukan operasi yang serupa dengan yang berikut,
List<ChartData> data = getdata();
List<SeriesBean.DataBean> yValue = data.stream().map(item -> (SeriesBean.DataBean) item);
Ralat melaporkan jenis tidak boleh tukar, DataBean ialah kelas statik dalaman.
Terdapat reinterpret_cast dalam C++ yang boleh memaksa penukaran, dan Java sepatutnya mempunyai kaedah yang sepadan
BeanUtils
Apache Commons dan
BeanUtils
BeanUtils
和 Spring 的BeanUtils
都有提供copyProperties
方法,作用是将一个对象的属性的值赋值给另外一个对象,但前提是两个对象的属性类型且 名字 相同。比如使用 Apache Commons 的
BeanUtils
:所以如果
kedua-duanya menyediakan kaedahChartData
和DataBean
SpringcopyProperties
, yang digunakan untuk menetapkan nilai sifat objek Kepada objek lain, tetapi hanya jika kedua-dua objek mempunyai jenis atribut dannama
yang sama. 🎜 🎜Sebagai contoh, gunakanBeanUtils
Apache Commons: 🎜 🎜🎜🎜Jadi jika nama sifat
ChartData
danDataBean
adalah sama, kod anda boleh ditulis seperti ini (tidak perlu menulis kaedah penetap untuk setiap sifat): 🎜 rrreee 🎜Sudah tentu, satu perkara yang perlu diberi perhatian ialah ini dilaksanakan menggunakan refleksi, yang kurang cekap daripada menulis kaedah penetap secara langsung. 🎜Pemindahan paksa hanya boleh dilakukan dari kelas ibu bapa ke kelas kanak-kanak Hanya klik pada setiap medan dan tetapkan
Poster asal harus mempelajari penukaran jenis Java. Di bawah syarat ini, pemindahan paksa tidak boleh dilakukan.