代码中未经检查的投射警告

时间:2017-08-08 10:05:17

标签: java android

我的代码:

 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());

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

1 个答案:

答案 0 :(得分:1)

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

如果你的流返回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

所以转换对象,取决于你的文件数据格式。