繁体   English   中英

代码中未经检查的强制转换警告

[英]Unchecked cast warning in code

我的代码:

 private List<Day> readDays(File file) {
        List<Day> days = new ArrayList<>();
        try {
            ObjectInputStream in = new ObjectInputStream(new FileInputStream(file));
            days.addAll((List<Day>) in.readObject());
        } catch (IOException | ClassNotFoundException e) {
            Logger.logError(LOG_TAG, e);
        }
        return days;
    }

此代码中未经检查的转换问题

 days.addAll((List<Day>) in.readObject());

这是一个问题,在某些情况下,应用程序崩溃了。

如果您的问题是强制对象; 您可以定义一个转换器,将您的对象转换为您的类并处理异常。

如果您的流返回json字符串,则可以使用ObejctMapper并通过使用jackson库按照以下方法将json字符串转换为您的类:

    //create ObjectMapper instance
    ObjectMapper objectMapper = new ObjectMapper();

    //convert json string to object
    Day day = objectMapper.readValue(jsonData, Day.class); 

   // use day class now

因此转换对象取决于您的文件数据格式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM