public static class DataBean {
private int value;
private BigDecimal name;}
public class ChartData {
private Integer time;
private BigDecimal result;}
J'ai besoin d'une opération similaire à la suivante,
List<ChartData> data = getdata();
List<SeriesBean.DataBean> yValue = data.stream().map(item -> (SeriesBean.DataBean) item);
Erreur signalant un type non convertible, DataBean est une classe statique interne.
Il existe reinterpret_cast en C++ qui peut être forcé à être converti, et Java devrait avoir une méthode correspondante
BeanUtils
deApache Commons et
BeanUtils
deBeanUtils
和 Spring 的BeanUtils
都有提供copyProperties
方法,作用是将一个对象的属性的值赋值给另外一个对象,但前提是两个对象的属性类型且 名字 相同。比如使用 Apache Commons 的
BeanUtils
:所以如果
fournissent tous deuxChartData
和DataBean
SpringcopyProperties, sa fonction est d'attribuer la valeur de l'attribut d'un objet à un autre objet, mais le principe est que les types d'attribut des deux objets et
name
sont les mêmes. #🎜🎜# #🎜🎜#Par exemple, utilisezBeanUtils
d'Apache Commons : #🎜🎜# #🎜🎜# #🎜🎜##🎜🎜#Donc, si les noms d'attribut de
ChartData
etDataBean
sont les mêmes, votre code peut être écrit comme ceci (il n'est pas nécessaire d'écrire des méthodes de définition pour chaque attribut ) : #🎜🎜# rrreee #🎜🎜#Bien sûr, une chose à noter est que cela est implémenté en utilisant la réflexion, ce qui est moins efficace que d'écrire directement la méthode setter. #🎜🎜#Le transfert forcé ne peut être effectué que de la classe parent à la classe enfant. Cliquez simplement sur chaque champ et définissez-le
.L'affiche originale doit apprendre la conversion de type Java. Dans ces conditions, un transfert forcé n’est pas possible.