Введите предупреждение о безопасности на странице JSP - PullRequest
2 голосов
/ 08 февраля 2012

В ServletContextListener я устанавливаю атрибут следующим образом:

ArrayList<String> prefs = new ArrayList<String>();
...
...
sc.setAttribute("user-preferences", prefs);

Я пытаюсь использовать атрибут на странице JSP следующим образом:

ArrayList<String> prefs = (ArrayList<String>) config.getServletContext().getAttribute("user-preferences");

Я получаю следующее предупреждение:

Безопасность типов: непроверенное приведение из Object в ArrayList

Может кто-нибудь сказать мне, почему я получаю это предупреждение?

Спасибо.

1 Ответ

2 голосов
/ 08 февраля 2012

Это предупреждение связано с тем, что ServletContext.getAttribute() не поддерживает обобщенные значения, а сигнатура метода этого метода говорит, что возвращаемый объект - Object.Но вы приводите тип к типу ArrayList<String>.

ServletContext.getAttribute () Справочник по API

Это стандартное предупреждение Java, указывающее, что вы применяете неуниверсальный тип (Object) для универсального типа (ArrayList).

В Java вы можете удалить предупреждение с помощью неконтролируемой аннотации.

Не проверено Turtorial Warning

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...