Java下正面解除警告Unchecked cast: ‘java.lang.Object‘ to ‘java.util.ArrayList‘

就是我在反序列化时,遇到这样一个警告:

复制代码
Unchecked cast: 'java.lang.Object' to 'java.util.ArrayList<com.work1.Student>'

然后我去网上查,有些人说用**@SuppressWarnings("unchecked")**去忽略警告,但是我觉得作为一名合格的程序员不能逃避问题,而且东欧程序员以严谨著称,ideaIU既然报出这个警告说明该处代码肯定有不严谨的地方,我想着如果去正面解除掉这个警告会更好也可以提高自己的编码水平,于是研究了一下,加了如下方法:

复制代码
public static <T> List<T> castList(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;
}

然后在main方法里面改成如下这样:

最后于似乎警告成功解除。

相关推荐
Wang's Blog1 分钟前
Java框架快速入门: Spring Security+OAuth2之多因子认证逻辑与实体类改造
java·开发语言·spring
ashiho4 分钟前
【Spring】RequestParam/PathVariable/RequestBody详解
java·后端·spring·servlet·springmvc
Escalating_xu14 分钟前
【mmap 进程间通信】从共享内存到跨进程唤醒:用互斥锁、条件变量控制多个进程
java·linux·开发语言·jvm
泡海椒19 分钟前
脚本包导入实战:JQuick-Java自定义包引入与别名配置教程
java·开发语言·python
隐退山林19 分钟前
JavaEE进阶:SpringBoot统一功能处理
java·spring boot·后端
木井巳35 分钟前
【记忆化搜索】斐波那契数
java·算法·leetcode·深度优先·剪枝·推荐算法
geovindu1 小时前
java: Task Scheduler
java·开发语言·后端
神奇小梵1 小时前
java的特殊语法点,与常规语言相异的点
java·开发语言
无巧不成书02181 小时前
Tomcat 下载后使用全指南:解压、环境配置、启动验证与常见问题排查
java·tomcat
Wang's Blog1 小时前
Java框架快速入门: Spring Security+OAuth2之多因子认证缓存服务
java·spring·缓存