请教一个java判断字符串相等的问题
是一个管理系统,从输入的账号和密码验证数据库中是否有这样一个人,并查询得到他的职位,如果是经理,则跳到另一个界面。if(e.getSource()==jCon){Syst...
是一个管理系统,从输入的账号和密码验证数据库中是否有这样一个人,并查询得到他的职位,如果是经理,则跳到另一个界面。
if(e.getSource()==jCon)
{
System.out.println("确定");
//从文本框和密码框取出员工号,密码
String u=this.jNum.getText().trim();
String p=new String(this.jPasswd.getPassword());
UserModel um=new UserModel();
String res=um.checkUser(u, p);
System.out.println(u+"职位是:"+res);
if(res.equals("经理"))
{
System.out.println("haha");
new Windows1();
}
}
输出如下:
确定
11001职位是:经理
我想问的是为什么这个if语句进不去?明明res就是经理啊
如果改成
if(!res.equals("经理"))
{
System.out.println("haha");
new Windows1();
}
就可以了。。。我无语了 展开
if(e.getSource()==jCon)
{
System.out.println("确定");
//从文本框和密码框取出员工号,密码
String u=this.jNum.getText().trim();
String p=new String(this.jPasswd.getPassword());
UserModel um=new UserModel();
String res=um.checkUser(u, p);
System.out.println(u+"职位是:"+res);
if(res.equals("经理"))
{
System.out.println("haha");
new Windows1();
}
}
输出如下:
确定
11001职位是:经理
我想问的是为什么这个if语句进不去?明明res就是经理啊
如果改成
if(!res.equals("经理"))
{
System.out.println("haha");
new Windows1();
}
就可以了。。。我无语了 展开
展开全部
你的s_warn赋值是"abc"吧?"abc"
属于字符串常量,它是存放在数据段里面的,如果还有个
s_warn1="abc",JAVA不会再在数据段里面再分配一个地址来存放“abc”,而是同样使用和s_warn一样的内存地址的“abc”,那么
s_warn1和s_warn就是的指向同一个内存地址拉,"abc"
不是没有地址,而是存的地方比较特殊罢啦。s_warn=="abc"当然是
true。
属于字符串常量,它是存放在数据段里面的,如果还有个
s_warn1="abc",JAVA不会再在数据段里面再分配一个地址来存放“abc”,而是同样使用和s_warn一样的内存地址的“abc”,那么
s_warn1和s_warn就是的指向同一个内存地址拉,"abc"
不是没有地址,而是存的地方比较特殊罢啦。s_warn=="abc"当然是
true。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以是空格的问题吧,你检查一下,使用res之前先调用trim()方法把空格去掉
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询