您的位置:首页 > 其它

关于 TextField.getText()的默认值是什么 以及判断TextField.getText()里面是否有值?

2017-12-19 18:59 471 查看
查看API.上面说:

返回此文本组件表示的文本。默认情况下,此文本是一个空字符串。

但是,通过调试的查看变量表达式,发现TextField.getText()的值并不是 null

而显示的是

“TextField.getText()” = “”

上面这个代表什么意思…

如果有

String s;

查看变量,发现

s = null

null 和 “”

有什么不一样.

if(s == null)——true

if(tf.getText() == null)—–false

if(tf.getText() == “”)—–false

当按下监听按钮时,我应该如何判断TextField中是否有东西输入.

其实用

getText().trim().equals(“”)

就可以判断了.

返回此文本组件表示的文本。默认情况下,此文本是一个空字符串。

空字符串就是“”,里面什么都没有。

null是对象为空。

String s; //这时s并没有申请到任何内存,为null

String s = “”; //这时,s对应了一块内存,其值是空

String s = “abc”; //这时是与case2一样的,只是值不为空

要判断文本框是否为空,不能用==,java中==是用于比较对象引用的而不是内容。

要比较内容,要用equals,类库中对象的equals方法一般是重写了Object用于比较内容比如String,但是如果是自定义对象就需要自己手动重写。

getText().trim().equals(“”);

其实用getText().equals(“”)就可以,不过加上.trim()就更完美,trim的作用是去掉String对象的前导空字符和后导空字符返回。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐