亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java 8 逗號分隔字符串到對象屬性

Java 8 逗號分隔字符串到對象屬性

智慧大石 2022-05-21 16:44:31
我有三個逗號分隔的列表(公共汽車、汽車、自行車的列表),我正在嘗試使用 Java 8 流將它們寫入 Java 對象屬性。請在下面找到我嘗試過的內容:public class Traffic {    public int car;    public int bus;    public int cycle;    public Traffic(int car, int bus,int cycle){        this.car = car;        this.bus = bus;        this.cycle = cycle;    }}public class Test {    public static void main(String[] args) {        String bus = "5,9,15,86";        String car = "6,12,18,51";        String cycle = "81,200,576,894";        String[] busArray = bus.split(",");        String[] carArray = car.split(",");        String[] cycleArray = cycle.split(",");        List<Traffic> trafficList =                Arrays.stream(values)                        .mapToInt(Integer::parseInt)                        .mapToObj((int i,j) -> new Traffic(i,j))                        .collect(Collectors.toList());    }}我正在努力讓所有流啟動并注入對象屬性。(在這種情況下,我想創建 4 個對象來填充所有 3 個屬性。)基本上,我正在尋找如下內容:List<Traffic> trafficList =                Arrays.stream(carArray,busArray,cycleArray)                        .mapToInt(Integer::parseInt)                        .mapToObj((int i,j,k) -> new Traffic(i,j,k))                        .collect(Collectors.toList());
查看完整描述

3 回答

?
慕工程0101907

TA貢獻1887條經驗 獲得超5個贊

如果要創建4個 Traffic 對象,則可以使用以下命令:

List<Traffic> collect = IntStream.range(0, busArray.length)
                          .mapToObj(i -> new Traffic(Integer.parseInt(busArray[i]),
                                                     Integer.parseInt(carArray[i]),
                                                     Integer.parseInt(cycleArray[i])))
                          .collect(Collectors.toList());


查看完整回答
反對 回復 2022-05-21
?
慕俠2389804

TA貢獻1719條經驗 獲得超6個贊

您只需拆分字符串,然后將每個值映射到您的對象。

在這里,我假設值可以通過Traffic對象的構造函數傳遞。如果沒有,您可以創建它并將其值設置在 2 個單獨的行中。如果期望是整數,mapToInt則 是必需的。value

String original = "5,9,15,86";
String[] values = original.split(",");
List<Traffic> trafficList = 
   Arrays.stream(values)
      .mapToInt(Integer::parseInt)
      .map(Traffic::new) 
      .collect(Collectors.toList());


查看完整回答
反對 回復 2022-05-21
?
冉冉說

TA貢獻1877條經驗 獲得超1個贊

在類 Traffic 中定義一個構造函數,該構造函數將整數作為參數并將其分配給類中的 value 屬性。


    static class Traffic {

      private int value;

      public Traffic(int value) {

        this.value = value;

      }

    }

現在假設逗號分隔的字符串在字符串 commandList 中,如下所示。


String commaList = "1,3,5,6,7,8,9,100";

以下流指令將返回一個帶有分配值的交通對象列表。


    List<Traffic> listOfIntegers = 

      Arrays.asList(commaList.split(","))

        .stream()

        .map(e -> new Traffic(Integer.valueOf(e)))

        .collect(Collectors.toList());


查看完整回答
反對 回復 2022-05-21
  • 3 回答
  • 0 關注
  • 618 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號