object - 转list
来源:趣味经验馆 2.95W
<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>
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);}