未选中从Object转换为Java 7

时间:2013-03-06 13:57:44

标签: java eclipse list 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>

1 个答案:

答案 0 :(得分:1)

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

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

如果此方法返回的object不是List<ChatHistoryItem>类型,您将收到ClassCastException。如果方法确实返回了相应的类型,那么代码仍会执行。

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