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