簡體   English   中英

如何將 object 列表轉換為 Java 中的 integer 列表?

[英]How to convert a list of object to a list of integer in Java?

我有一個 object 的內部列表,我想將其轉換為 Integer 的列表,因為我知道它的元素是 Integer。

List<List<Object>> valuesModel = FCSMs.get(0).getValues();
            for (List<Object> innerList : valuesModel) {

//CONVERT LIST OF OBJECT TO LIST OF INTEGER

}

我能怎么做?

首先,最好仔細檢查您是否確實在處理 Integer 類型的列表。 您可能知道唯一的輸入是該類型,但將來使用您的代碼的任何人都不會(因為它不是用整數輸入的)。 之后,您可以簡單地將其“轉換”為類型 Integer。 關於如何做到這一點的一些偽代碼可以在下面找到:

List<List<Integer>> result = new ArrayList<>();
for (List<Object> innerList : valuesModel) {
    List<Integer> integerList = new ArrayList<>();
    for (Object object : innerList) {
        if (object instanceof Integer) {
            integerList.add((Integer) object);
        }
    }
    result.add(integerList);
}

你可以這樣做。 由於您知道所有對象都是整數,因此不會進行任何檢查來避免 ClassCastExceptions。

  • Stream 列表列表為 stream 列表。
  • 然后將這些列表展平為 object 的 stream。
  • 將 object 轉換為 Integer。
  • 並收集到一個列表中
List<List<Object>> valuesModel = List.of(List.of(1,2,3,4), List.of(5,6,7,8));

List<Integer> integers = valuesModel.stream()
           .flatMap(Collection::stream)
            .map(ob->(Integer)ob)
             .collect(Collectors.toList());

System.out.println(integers);

印刷

[1, 2, 3, 4, 5, 6, 7, 8]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM