
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);
}
以上就是小編今天的分享,希望可以幫助到大家。
