2014-06-21 81 views
0

我已經存放在兩個不同屬性的兩個整數值試圖獲取存儲在會話浮點或整數值

session.setAttribute("passengers", new Integer(passengers)) 
session.setAttribute("luggages", new Integer(luggages)); 

但是當我試圖通過

Integer passengers = (Integer) session.getAttribute("passengers") 
Integer luggages = (Integer) session.getAttribute("luggages"); 

我讓他們在一個請求得到

java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer 
+0

向我們展示完整的堆棧跟蹤,給我們更多的上下文。 –

+0

看起來像在代碼中的其他地方將這些會話屬性添加爲'String'。 –

+0

您可能會將其從其他地方設置爲字符串 –

回答

1

可以使用

int passengers = Integer.parseInt((String) session.getAttribute("passengers")) 
int luggages = Integer.parseInt((String)session.getAttribute("luggages")); 
+0

我不這麼認爲,這將解決問題,因爲getAttribute必須根據OP代碼返回Integer對象而不是String對象。順便說一下'getAttribute()'返回類型是'Object'。 – Braj

+0

我要更新帖子以顯示所有代碼 – Mazzy

+0

它適用於整數,但不適用於浮點型 – Mazzy