2013-12-03 2 views
-2

У меня есть код, как ниже:Проблема с типом несоответствия Arraylist и объекта в JSP странице

ArrayList<String> first_name = new ArrayList<String>(); 
Object result = request.getAttribute("first_name"); 
first_name = (ArrayList<String>) result; 

вещь request.getAttribute должен быть объект. Я пытаюсь бросить его так, чтобы он стал ArrayList. однако он возвращает java.lang.NullPointerException

может любой решить проблему пожалуйста. Спасибо заранее.

+0

Куда он бросает NPE? Каков тип 'запрос'? – LaurentG

+0

Примечание: Вы можете написать 'ArrayList first_name = new ArrayList <>();' (The Diamond). – Maroun

+1

... если вы используете * Java 7 или выше *. – SudoRahul

ответ

2

Единственная строка кода, которая может вызвать исключение NullPointerException здесь, является второй и только тогда, когда request имеет значение NULL. Третья строка (литой) не может выбросить NPE, так как вы можете в любое время наложить null на ArrayList<String>.

Итак, проверьте, имеет ли значение request.

+0

IMHO, 'request' не может быть пустым в jsp. ОП сталкивается с какой-то странной проблемой или не объясняет. +1. –

+0

@ sᴜʀᴇsʜᴀᴛᴛᴀ - Почему это не может быть нулевым? Infact, это единственная возможность. – SudoRahul

+0

@ R.J Согласен. Но кому-то нужно запросить jsp. Вот что пришло мне в голову. Да. в показанном коде это единственная возможность. :( –

0

Вы можете окружить свой код блоком try-catch. Затем обрабатывайте запрос при получении нулевого значения или просто бросайте NullPointerException.

Смежные вопросы