我现在不是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使用的警告?

10-08 17:43