今天遇到一个字符串判空问题,记录一下
方法一:
if(str==null||str.length()<=0)
方法二:
TextUtils.isEmpty(str)
实际上方法一和方法二是等价的,不过方法一可以在java和android中同时使用
TextUtils是android里的一个类,TextUtils.isEmpty()会进行是否为null和是否长度为0这两种判断
若str.isEmpty()只能判断字符串长度是否为0,遇到null则会报错
下面是我测试的代码
MainActivity代码:
public class MainActivity extends Activity {
private EditText et;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String str="abc";
//判断方法1
//java字符串为空判断
// if(str==null||str.length()<=0){
// System.out.println("字符串空");
// }
// else{
// System.out.println("字符串不为空");
// }
//判断方法2
//TextUtils是安卓中的一个类
//str.isEmpty()仅仅判断是否==0 若为null值,会报空指针异常
et=(EditText)findViewById(R.id.editText1);
Button button=(Button)findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
String s=et.getText().toString();
//s=null;
if(TextUtils.isEmpty(s)){
Toast.makeText(getApplicationContext(),"字符串空",0).show();
}
else{
Toast.makeText(getApplicationContext(),"字符串不为空",0).show();
}
}
});
}
}
布局文件只有一个edittext和一个button