0

我现在不明白 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>

4

1 回答 1

1

问题是因为您无法安全地确定ISharedObject.getAttribute方法调用将返回的类型。这发生在这一行:

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

如果object此方法返回的不是类型List<ChatHistoryItem>,您将收到一个ClassCastException. 如果该方法确实返回了适当的类型,您的代码仍将执行。

我假设这不是破坏您的代码的错误,它只是来自您使用的 IDE 的警告?

于 2013-03-06T14:00:58.957 回答