object 轉list的具體操作是什么呢?跟小編一起來看看吧:
java中如果需要將一個object轉成list,大部分人會直接使用強制類型轉換:(List
正確的做法如下:
public?static?Object?getObj()?{ ????List?list?=?new?ArrayList<>(); ????list.add("1"); ????list.add("ab"); ????return?list; } ? public?static?void?main(String[]?args)?{ ????Object?obj?=?getObj(); ? ????List?result?=?new?ArrayList<>(); ????if?(obj?instanceof?ArrayList)?{ ????????for?(Object?o?:?(List)?obj)?{ ????????????result.add(String.class.cast(o)); ????????} ????} ? ????result.forEach(System.out::println);?//?輸出:1?ab }
Main主函數中的 Object obj模擬了List對象。后續的代碼首先判斷obj是否是List類型,然后使用Class.cast做類型轉換
如果你想使用更方便的方法,可以直接調用下面的函數。
public?static??List?castList(Object?obj,?Class?clazz) { ????List?result?=?new?ArrayList(); ????if(obj?instanceof?List) ????{ ????????for?(Object?o?:?(List)?obj) ????????{ ????????????result.add(clazz.cast(o)); ????????} ????????return?result; ????} ????return?null; }
它接受兩個參數,一個是obj,即是我們需要轉換的List對象,然后傳入List中元素的class即可。
使用方法如下:
public?static?void?main(String[]?args)?{ ????Object?obj?=?getObj(); ????List?list?=?castList(obj,?String.class); ????list.forEach(System.out::println); }
以上就是小編今天的分享,希望可以幫助到大家。