【Java】Object 转换 List<Object>

0.使用场景

1
List<User> users = (List<User>) Obj;

使用的时候IDEA会提示警告 说未检查类型.

1.解决办法

  1. 使用@SuperWarning({“unchecked”})进行压制
  2. 写个工具类进行转换

1.1 方法1

1
2
@SuperWarning({"unchecked"})
List<User> users = (List<User>) Obj;

1.2 方法2

1
2
3
4
5
6
7
8
9
10
public static <T> List<T> objConvertList(Object obj, Class<T> clazz) {
List<T> result = new ArrayList<>();
if (obj instanceof List<?>) {
for (Object o : (List<?>) obj) {
result.add(clazz.cast(o));
}
return result;
}
return null;
}

注:

个人不喜欢使用注解消除警告,因为觉得这个消除了,但是仍然存在隐患. 所以选择使用静态方法进行转换. 结果可控.


【Java】Object 转换 List<Object>
https://www.yangxj96.com/Java/Obect2ListObject/
作者
道一
发布于
2022年12月23日
许可协议