servlet 中 if 语句问题

来源:百度知道 编辑:UC知道 时间:2024/06/14 07:55:12
下面是我servlet中的一段代码,无论我之前的网页里usename表单内容是不是“a”,{target = "/bank.jsp";}语句始终得不到执行
String username = request.getParameter("username");
if(username=="a") {target = "/bank.jsp";}

而我将if内中的代码换为if(username.equals("a"))后无论usename表单内容是不是“a”,{target = "/bank.jsp";}语句都能得到执行

我搞不懂啊 到底为什么呢?
谢谢大家回答我

能解决问题的 继续加分
我像1楼2楼可能没看明白我的问题 我现在的问题是用了equals方法后 无论匹不匹配,if内都认为是ture值(即if后语句都会得到执行,这究竟是为什么呢)

这是equals和==的区别,记得是他们俩的内部匹配机制不同,一个比的是内存地址,一个比的是值,反正匹配时候用==不灵,就换equals试试就对了,equals功能更强大一点,它是继承自Object四大方法之一,总之很常使~

String类型对象,需要用equals比较。如下:

if("a".equals(username)) {target = "/bank.jsp";}

user == null永远返回false 不能用==做String类型的比较

就向上面说的 用user.equals();

if(username!=null && username.equals("a"))

这样试试

用我楼上说的方法试一下吧。
你首先看看 不是a也执行的时候 这个username是个什么值??

老大你不要光问啊,你要自己测试啊,打断点,或者简单的输出看看到底那里出问题了,这种问题自己测试下都知道了