"这篇资源主要介绍了在Android开发中如何比较String类型的数据,特别是对于初学者,提供了关于字符串比较的重要知识点和EditText的相关处理方法。" 在Android应用开发中,String是经常使用的数据类型,用于存储文本信息。对于初学者来说,理解和正确使用String类型的比较至关重要。在Java中,有两种常见的字符串比较方法:`equals()` 和 `==`。 1. `str1.equals(str2)`:这是判断两个字符串内容是否相等的标准方法。它会逐个字符比较两个字符串的字符序列,如果完全相同,则返回`true`;否则返回`false`。这种方法不考虑字符串对象的引用,只关注它们的内容是否一致。例如,两个不同的字符串对象可能包含相同的字符序列,`equals()` 会返回`true`,即使它们在内存中的位置不同。 2. `str1 == str2`:这个操作符检查两个字符串对象是否指向内存中的同一个位置,即它们是否是同一个对象。如果两个字符串引用同一个对象,`==` 返回`true`;否则返回`false`。在大多数情况下,如果只是比较字符串内容,应该使用`equals()`,因为`==` 只比较引用,而不比较内容。 当我们需要检查EditText(用于用户输入的文本框)是否为空时,可以使用以下方法: - `if("".equals(editText.getText().toString().trim()))`:这一行代码首先通过`getText()`获取EditText中的文本,然后调用`toString()`将其转换为字符串,接着使用`trim()`移除前导和尾随的空白字符。如果结果与空字符串`""`相等,说明EditText是空的。这种方式避免了因空格导致的误判。 注意,对于EditText,有时在XML布局文件中设置`android:inputType="number"`,可以限制用户只能输入数字,并且可以使用`android:maxLength="3"`来限制最多输入的字符数。 检查EditText是否为空的其他方式包括: - `mEditText.getText().length()==0`:直接计算字符串的长度,如果长度为0,表示EditText是空的。 - `mEditText.getText().toString()==null` 和 `mEditText.getText().toString().equals("")`:这两种方法分别检查字符串对象是否为`null`和内容是否为空字符串。在某些情况下,当EditText没有设置初始值时,`getText().toString()`可能会返回`null`。 理解并正确使用String的比较方法以及处理EditText的空值情况,是Android开发中的基本技能。这有助于避免程序运行时可能出现的逻辑错误,提升应用的用户体验。
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
下载后可阅读完整内容,剩余1页未读,立即下载
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦