簡體   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