2017-02-14 27 views
0

我有一個會話屬性和相同的字符串:如何比較會話屬性和字符串的Java

out.println("<br>"); 
    out.println(request.getSession().getAttribute("token").toString()); 
    out.println("<br>"); 
    out.println(hidden_token); 
    out.println("<br>"); 
    out.println(request.getSession().getAttribute("token").toString() == hidden_token); 

,但我得到它預計不會

07581d61db9213eb4549b12388f8c106 
07581d61db9213eb4549b12388f8c106 
false 
+3

結果你正在檢查它們是否是同一個對象('==')。如果你想查看兩個對象是否相等(其中「equal」意味着該方法的具體實現意味着什麼),使用'equals()'。在equals()的'String'實現中,如果它們的內容是相同的字符序列,則它們被認爲是相等的。 – SantiBailors

+0

相同的結果與等於:( – Nesquik27

+0

如果等於不起作用,請嘗試修剪它們:'request.getSession()。getAttribute(「token」)。toString()。trim()。equals(hidden_​​token.trim()) ' –

回答

0

使用

request.getSession().getAttribute("token").toString().equals(hidden_token) 
+1

您能解釋爲什麼使用equals方法嗎?或者提供'equals'和'=='之間的簡單比較。沒有評論的代碼是沒有用的。 – mrdaliri