有什么方法可以更改此代码,以便删除未检查的警告
ArrayList<String> keys = new ArrayList<String>();
// do some stuff then
// save keys in session
HttpServletRequest request = getThreadLocalRequest();
HttpSession session = request.getSession(true);
session.setAttribute(uuid, keys);
// get keys from session sometime later
@SuppressWarnings("unchecked")
ArrayList<String> keys = (ArrayList<String>) session.getAttribute(uuid);
最佳答案
你不能。 session.getAttribute()
是类型不安全的。
您可以创建一个包装器方法,这样您只有一个地方有 @SuppressWarnings
:
public final class SessionUtils {
@SuppressWarnings("unchecked")
public static <T> T getSessionAttribute(HttpSession session, String name) {
return (T) session.getAttribute(name);
}
}
然后你可以使用,没有警告:
List<String> keys = SessionUtils.getAttribute(session, uuid);
关于java - 如何删除 SuppressWarnings ("unchecked"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3210909/