object 转list

作者:原创时间:2022-03-10
文档

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);
}

以上就是小编今天的分享,希望可以帮助到大家。

显示全文
object转bigdecimal java get和set方法 python中get函数用法 js set方法 mysql去重复 保留一条 rstudio使用教程 oracle coalesce python configparser模块 python strip函数 python调用dll java concat js 遍历json js json对象 js数组遍历方法 python 引用 idea的maven配置 maven安装配置 java filereader java stream java random python 交集 js读取文件 linux 格式化u盘 deque java java process armoury crate打不开 python skimage vue使用jquery js set去重 python的range函数用法 vue 调用子组件方法 java反射获取属性值 python中find函数的用法 getclass方法 python中strip函数的用法 js class类 mysql time类型 python中sorted函数的用法 cad的基本命令 ubuntu卸载mysql