java textfield的getText()问题
u=db.searchPassword(lnumber,tx.getText());if(tx.getText()=="1993a")System.out.println...
u=db.searchPassword(lnumber,tx.getText());
if(tx.getText()=="1993a") System.out.println("相等");
关键是if语句,我确实在文本框内输入了1993a。可是用getText()得到的字符串就是不满足条件,而且,我也试过把tx.getText()所得输出到屏幕上。结果真是蛋疼,竟然显示的是1993a。我试过把字符串转换成byte[],再用byte[]去构造一个String类型的值,这个String类型的值还是不满足if条件。 展开
if(tx.getText()=="1993a") System.out.println("相等");
关键是if语句,我确实在文本框内输入了1993a。可是用getText()得到的字符串就是不满足条件,而且,我也试过把tx.getText()所得输出到屏幕上。结果真是蛋疼,竟然显示的是1993a。我试过把字符串转换成byte[],再用byte[]去构造一个String类型的值,这个String类型的值还是不满足if条件。 展开
2个回答
展开全部
java中String 是一个对象,tx.getText()返回值是String,是一个String 的对象,而"1993a"是一个字符串常量,所以二者根本就不会相等的。把if语句里面换成tx.getText().equals("1993a")就行了。
更多追问追答
追问
说实话,要不是searchPassword()出问题。我也不会加一个if语句。我就是想让tx.getText()作searchPassword()的参数。而且,如果我写成searchPassword(lnumber,"1993a");那么程序就会按我预期的运行。而若是我在文本框中输入1993a。用getText()得到他,用作searchPassword()的参数,就不行了。
追答
我还能看看你的searchPassword()函数啊
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询