初学问题。 got3.getText()的返回值应该是""吧。如果是这样,那""并不等于null所以表达式的值为假。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 got3.getText()返回的是一個指向String的reference,該reference指向的對象不是null,該reference指向的對象的內容為"";所以你的等式是不會成立的. 应该用equals("")。因为getText返回的值不是null,而是一个字符串,没有内容时字符串为""。 got3.getText()返回的是一个string对象的实例,其值为"" 可是用:if(got3.getText().equals(""))的话,它在任何情况下都为真了!!这怎么办? 如果不能做got3.getText()==null这样的比较的话,那下面的怎么解释:public void actionPerformed(ActionEvent event){ String command=event.getActionCommand(); if(command=="Play") startPlaying();..............上面的程序是对的。但把我一楼的问题改为:JTextField got3=new JTextField();got3.setText(null);if(got3.getText()=="")也不行,if语句永远也得不到真! ......不明白楼主做这个判断到底要干什么。上一句把got3清空,后一句判断是否为清空,当然为真。 说干什么也说不上,我只是想弄明白,在一个JTextField中,如何判断用户是否输入了东西。用以下两种方法均不行:一:JTextField got3=new JTextField();......if(got3.getText()==null)//永远为假二:JTextField got3=new JTextField();.......if(got3.getText()=="")//永远为真或if(got3.getText().equals(""))//永远为真请问java在搞什么飞机?最后我又试了这种方法:JTextField got3=new JTextField();.......int num;num=Integer.parseInt("0"+got3.getText()); if(num==0)//这样才能正确判断用户是否输入了东西。 楼主如果要判断是否为空串,则应该为:if(got3.getText().equals(""))如果判断是否为NULL则需要NULL来判断不可与一个空串STRING对象判断,这就是对象和应用的注意问题,其实引用就是指针,只是不象C可以运算。 ......为什么不用got3.Length()方法判断字符串长度是否>0?? [纠正]if (got3.getText().Length()>0) { ... }说明:getText如果发现底下的文本是null,会抛出NullPointerException,而不是返回null。""的长度为0。 "请问java在搞什么飞机?"不是Java搞飞机,是楼主没有理解是怎么回事。心情可以理解,但这样发泄不满似乎让人不好接受吧。//对事不对人,楼主如果觉得我的言语过激请见谅。 java中定义的字符串操作符,如何让运算时先执行括号里的 Excel的合并问题(如何把多个单Sheet的Excel合并成一个含有多Sheet的Excel中)? 为何上传文件后在服务器端无法删除此文件 如何在MDI的子窗口得到父窗口的实例? [求助]连接access数据库的问题 问一个有点BT的问题!关于把PDF转换成jpg行不行?? java与注册表! 谁能帮我解释一下下面代码? 客户端使用jdbc需要什么特殊配置吗? java 同步锁无效的解决办法 请问JAVA读文件怎样使当前指针向前移一个字符? 运行时类型转换
if(got3.getText().equals(""))的话,
它在任何情况下都为真了!!
这怎么办?
public void actionPerformed(ActionEvent event)
{
String command=event.getActionCommand();
if(command=="Play")
startPlaying();
.......
.......
上面的程序是对的。
但把我一楼的问题改为:
JTextField got3=new JTextField();
got3.setText(null);
if(got3.getText()=="")
也不行,if语句永远也得不到真!
不明白楼主做这个判断到底要干什么。上一句把got3清空,后一句判断是否为清空,当然为真。
用以下两种方法均不行:
一:
JTextField got3=new JTextField();
......
if(got3.getText()==null)//永远为假二:
JTextField got3=new JTextField();
.......
if(got3.getText()=="")//永远为真
或if(got3.getText().equals(""))//永远为真
请问java在搞什么飞机?最后我又试了这种方法:
JTextField got3=new JTextField();
.......
int num;
num=Integer.parseInt("0"+got3.getText());
if(num==0)//这样才能正确判断用户是否输入了东西。
如果判断是否为NULL则需要NULL来判断不可与一个空串STRING对象判断,这就是对象和应用的注意问题,其实引用就是指针,只是不象C可以运算。
为什么不用got3.Length()方法判断字符串长度是否>0??
if (got3.getText().Length()>0) { ... }说明:getText如果发现底下的文本是null,会抛出NullPointerException,而不是返回null。""的长度为0。