检查请求参数是否等于Java中的字符串

ste*_*eve 2 java request query-string

我想在java中这样做

if(request.getParameter("page") == "page1")
// page1
else if(request.getParameter("page") == "page2")
// page2
Run Code Online (Sandbox Code Playgroud)

对于刚接触java的人,为什么上面的代码不起作用,以及在上面做我想做的最好的方法是什么?

Bal*_*usC 10

既然String是一个对象,而不是一个基元,==那么它只会通过引用来比较它们,而不是通过对象的内部表示来比较它们.你需要比较它们equals().

if("page1".equals(request.getParameter("page")))
// do something
else if("page2".equals(request.getParameter("page")))
// do something else
Run Code Online (Sandbox Code Playgroud)

(注意,这样做是为了防止潜在NullPointerException开启,例如request.getParameter("page").equals("page1")参数返回时null)

相关问题:


与此问题无关,JSP不是这项工作的最佳选择.考虑一个Servlet.