簡體   English   中英

未經檢查的從Object到Java 7的轉換

[英]Unchecked cast from Object to Java 7

我現在不是Java無法理解錯誤在哪里。 使用Java 7。

public void chatMessage(String userName, String message) {
      IScope scope = Red5.getConnectionLocal().getScope();
      ISharedObject chat = getSharedObject(scope, "chat");
      List<ChatHistoryItem> history = (List<ChatHistoryItem>) chat.getAttribute("remoteHistory");
      ChatHistoryItem item = new ChatHistoryItem();
      item.user = userName;
      item.date = new Date();
      item.message = message;
      history.add(item);
      chat.setAttribute("remoteHistory", history);
    }

錯誤: Unchecked cast from Object to List<ChatHistoryItem>

問題是因為您不能安全地確定ISharedObject.getAttribute方法調用將返回的類型。 在此行中發生:

List<ChatHistoryItem> history = (List<ChatHistoryItem>) chat.getAttribute("remoteHistory");

如果此方法返回的object不是List<ChatHistoryItem>類型,則將收到ClassCastException 如果該方法返回正確的類型,您的代碼仍將執行。

我假設這不是破壞您的代碼的錯誤,它只是來自IDE使用的警告?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM