当前位置: 技术问答>java相关
菜鸟刚学jsp,这句话写的不对吗?
来源: 互联网 发布时间:2017-04-25
本文导语: 我要判断当password和password2的值不相同时,显示两次输入的密码不相同! 可是当password和password2的值相同时,也显示两次输入的密码不相同! String password = new String(request.getParamete ("textfield2").getBytes("ISO8859_1"), "...
我要判断当password和password2的值不相同时,显示两次输入的密码不相同!
可是当password和password2的值相同时,也显示两次输入的密码不相同!
String password = new String(request.getParamete
("textfield2").getBytes("ISO8859_1"), "GB2312");
String password2 = new String(request.getParameter("textfield3").getBytes("ISO8859_1"), "GB2312");
//如果密码和验证密码不相同
if (!(password==password2))
{
out.print("两次输入的密码不相同!");
}
可是当password和password2的值相同时,也显示两次输入的密码不相同!
String password = new String(request.getParamete
("textfield2").getBytes("ISO8859_1"), "GB2312");
String password2 = new String(request.getParameter("textfield3").getBytes("ISO8859_1"), "GB2312");
//如果密码和验证密码不相同
if (!(password==password2))
{
out.print("两次输入的密码不相同!");
}
|
应该用:
String的compareTo(String str)
String的compareTo(String str)
|
像你这么比较(password==password2):
比较的是这两个instance的句柄,当然不同,
应该这样比较:password.equals(password2)
比较的是这两个instance的句柄,当然不同,
应该这样比较:password.equals(password2)
|
use password.equals(password2)
not ==
not ==
|
同意楼上各位。
字符串比较应该使用str1.equals(str2)。
使用"=="是错误的。
字符串比较应该使用str1.equals(str2)。
使用"=="是错误的。
|
你的password和password2是用new String()构造的String的对象...
所以password是永远不会跟password2相等的.....它们是两个不同的对象....
可以用equals比较...
所以password是永远不会跟password2相等的.....它们是两个不同的对象....
可以用equals比较...
|
password.equals(password2)
|
呵呵....对我上面所说的再补充一点.....
==操作符用于原始类型时比较的是它们的值。而用于对象时比较的是对象的引用而不是对象的实际内容。
password和password2有自己不同的实例...虽然它们的内容是一样的,但它们的引用是不同的.......
==操作符用于原始类型时比较的是它们的值。而用于对象时比较的是对象的引用而不是对象的实际内容。
password和password2有自己不同的实例...虽然它们的内容是一样的,但它们的引用是不同的.......
|
应该用password.equals(password2)这比较的是对项的值
==比较的是对象(地址)
==比较的是对象(地址)
|
楼上的都说了,我还能说什么呢
|
请看此贴,有详细的讨论
http://expert.csdn.net/Expert/TopicView1.asp?id=1330268
http://expert.csdn.net/Expert/TopicView1.asp?id=1330268
|
通过password.compareto(password2)==0也可以
|
if(password!=password2)
|
对字符串的比较要使用String类的equals或者是compareTo也可以
|
==是判断两个类是否相同,也就是是否占同一块内存。
equals方法是判断两个String实例的值是否相同
需要明白到String是一个类,不是一个字符串变量。
equals方法是判断两个String实例的值是否相同
需要明白到String是一个类,不是一个字符串变量。