2017-02-14 16 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