场景:android、Java上判断两个String是否相等 、EditText输入是否为空,限定输入数字的实现 总结

android、Java下判断两个String是否相等 、EditText输入是否为空,限定输入数字的实现 总结

str1.equals(str2)来判断,不能用==或者!=来判断,原因:

因为String是引用类型的,不是基本数据类型,所以它们的比较是使用地址和值(相当于C中的指针)来比较的,因为它们是不同的对象,有不同的地址,所以str1!=str2永远都是true。而str1==str2永远是false。如果你中想比较它们的数值是否相等就使用str1.equals(str2)。使用==或者!=是对象的比较,它们为真的条件是:不仅要求是同一对象,而值也要求相等。

因此判断editText输入是否为空,可以这样来:

if("".equals(editText.getText().toString().trim()))

上面这行代码的意思是:

""代表空,什么都没输入。

equals的意思是""跟equals后面括弧里的东西进行对比,如果一样就为空。括弧里的就是实际输入的东西

editText.getText()就是取得里面的东西。toString()转化为字符串。trim()的意思是,拿到里面的东西后,把前后的空格都过滤掉。

直接在xml里设置editText的输入限制为:数字  这样程序就不用判断了,要么什么都没有,要么就是数字。

android:inputType="number"

edittext的属性里,还可以限制最多可以输入的字符个数,即length。

android:maxLength="3"

一个综合的下例子:

if("".equals(et.getText().toString()))

{

new AlertDialog.Builder(this)

.setMessage("身高不能为空")

.setPositiveButton("Ok", null)

.show();

return;

}

还可以这样来判断是否输入为空:

mEditText.getText().length()== 0

mEditText.getText().toString() == null

mEditText.getText().toString().equals("")

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐