我需要將一種型別的陣列轉換為另一種型別的陣列。
更具體地說,我只需要從起始陣列中的每個物件中提取幾個欄位來創建結果陣列,該陣列將僅包含這 2 個欄位,盡管名稱不同。
例如,假設我有一個Thing物件陣列:
public class Thing {
private String id;
private String description;
... // other fields
}
我需要從中創建一個Item物件陣列:
public class Item {
private String code;
private String data;
...
}
......在id每個東西變成code每個專案; 并description成為data。
我見過使用 Stream api 將物件陣列轉換為字串陣列的示例。但是到目前為止我還不清楚如何將一個物件轉換為另一個物件。
uj5u.com熱心網友回復:
嘗試這個。
record Thing(String id, String description) {}
record Item(String coded, String data) {}
public static void main(String[] args) {
Thing[] array = {new Thing("1", "one"), new Thing("2", "two")};
Item[] transformed = Arrays.stream(array)
.map(thing -> new Item(thing.id(), thing.description()))
.toArray(Item[]::new);
System.out.println(Arrays.toString(transformed));
}
輸出:
[Item[coded=1, data=one], Item[coded=2, data=two]]
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/354277.html
上一篇:ifelse條件沒有正確執行
