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方法里面改成如下这样:

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

相关推荐
蜗牛互联网4 小时前
Gemini 4 Argon的1M输出窗口与长程Agent工程边界
java·人工智能·后端
elseif1234 小时前
【2026 CSP-J】【逐题精讲】超详细(15道选择,3道阅读,2道完善)
java·开发语言·c++·算法·csp
智鸟科技GemeOpen开发者智能设备5 小时前
MQTT智能插座GSPM1B2 · 开发者实战指南
java·开发语言·python·物联网
Thinker QAQ5 小时前
并发编程(七):volatile——从语言规则到 CPU
java·python·go·并发编程·volatile·memory model
蜗牛互联网5 小时前
从GitHub动态工作流理解确定性编排与Agent判断边界
java·人工智能·后端·github
开开心心就好5 小时前
办公软件卸载不干净?专用工具一键清残留
java·前端·人工智能·智能手机·kafka·excel·memcache
大侠归来5 小时前
C 与 Go 语言对比:从设计哲学到工程实践
java·c语言·golang
吠品6 小时前
volatile到底在拦什么:SysTick->VAL读的哪格
java·服务器·开发语言
新鲜势力呀6 小时前
PHP 定时任务系统实战:从 Cron 混乱执行到任务调度中心 + Redis队列 + 失败重试
android·java·redis
(Charon)7 小时前
【C/C++面试】手写内存池:从空闲链表到内存申请与释放
java·开发语言·windows