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