在android中 TextUtils.isEmpty()和equals()方法的用法

本文详细解释了如何在Android应用中使用官方推荐的方法TextUtils.isEmpty()来检查EditText组件返回的变量是否为空。通过对比使用equals方法可能引发的错误,以及官方方法的便利性和严谨性,阐述了采用官方推荐方法的重要性。文章还强调了避免不必要的代码冗余,提高代码可读性和维护性的实践建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

仔细读官方的API: Returns true if the string is null or 0-length. 因为你从EditText返回的是一个变量。如果这个变量本身为null值,那么你掉它的equals方法是要报错的。但是如果你调用TextUtils.isEmpty() 把这个变量作为参数传进去。只要这个参数为空或者为“”,都会返回真。所以,用官方给的更加严谨。而且。也十分方便。因为你单独去判断你还不是要写一个if语句判断。返回的还是一个boolean值,为何别人铺好的路不走呢?

根据上述解决方案,请分析我是否改正确可以解决日志的问题package com.example.myexamproject; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import com.example.myexamproject.db.UserDbHelper; import com.example.myexamproject.entity.UserInfo; import com.example.myexamproject.utils.MD5Utils; public class UpdatePasswordActivity extends AppCompatActivity { private EditText NewPassword; private EditText SecondPassword; private Button update_password; private String md5_password; String new_password; String second_password; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_update_password); init(); } private void init(){ UserInfo userInfo = UserInfo.getsUserInfo(); NewPassword = findViewById(R.id.new_password); SecondPassword = findViewById(R.id.second_password); update_password = findViewById(R.id.update_password); update_password.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { new_password = NewPassword.getText().toString().trim(); second_password = SecondPassword.getText().toString().trim(); if (TextUtils.isEmpty(new_password)){ Toast.makeText(UpdatePasswordActivity.this,"请输入新的密码",Toast.LENGTH_SHORT).show(); }else if (TextUtils.isEmpty(second_password)){ Toast.makeText(UpdatePasswordActivity.this,"请再次输入密码",Toast.LENGTH_SHORT).show(); }else if (!TextUtils.equals(new_password,second_password)) { md5_password = MD5Utils.md5(new_password); if(TextUtils.equals(md5_password,userInfo.getPassword())){ Toast.makeText(UpdatePasswordActivity.this,"新密码需与旧密码不一致",Toast.LENGTH_SHORT).show(); }else { int row = UserDbHelper.getInstance(UpdatePasswordActivity.this).updatePassword(userInfo.getUser_id(), md5_password); UserInfo.sUserInfo.setPassword(md5_password); if(row==1){ Toast.makeText(UpdatePasswordActivity.this,"修改成功",Toast.LENGTH_SHORT).show(); finish(); } } }else { Toast.makeText(UpdatePasswordActivity.this,"两次输入密码不一致",Toast.LENGTH_SHORT).show(); } } }); } }
03-19
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值