Аз съм изправен пред постоянен проблем в кастинг, аз се опитах твърде много, но не мога да "реша. Искам да запазя ArrayList в java сервлет сесия
//create ArrayList<User> and store in session
ArrayList<User> listOfUsers=new ArrayList<User>();
session.setAttribute("listOfUsers",listOfUsers);
Но когато дойда да хвърля обекта на ArrayList да извлече от сесията, получавам следното предупреждение: "Безопасност на типа: Непроверено пренасочване от Object to ArrayList"
//casting with Warning
ArrayList <User> users=(ArrayList<User>)session.getAttribute("listOfUsers");
И това причинява нулеви стойности, когато стартирам уебсайта и се опитва да изпълни следното
String username=users.get(i).uname;
out.print("User:"+username);
Как мога да реша този кастинг да бъде правилен? Благодаря предварително за всяка помощ
Отговори:
0 за отговор № 1Ако се отпечатват нулеви стойности, то кастингът не е проблем. Ако списъкът е нулев, ще получите NullPointerException
когато се обаждате user.get(index)
, Има User.uname
е настроен? Попълнихте ли списъка? Ако се опитате да получите достъп uname
на нулев обект ще получите и изключение.