我正在使用android并有一个电子邮件字段(EditText),我将从中获取数据
示例代码
final EditText input = new EditText(this);
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
String email = input.getText().toString();
Log.v("><><><><><><>",email);
if (!email) {
AlertDialog.Builder alert_email = new AlertDialog.Builder(MainActivity.this);
alert_email.setMessage("Please enter email.");
alert_email.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
}
});
alert_email.show();
}
else {
...........
...........
}
}
});
当我使用if(!email)
时,它显示错误为The operator ! is undefined for the argument type(s) String java(Android)
但是在使用时(email == null)并且它没有进入if块并且总是转到else块
那么如何检查变量是否在java中有数据?
因为我是java的新手,所以不要贬低它。
答案 0 :(得分:1)
文本字段返回一个空字符串,因此您还必须检查字符串是否为空:
if (email == null || email.trim().length()>0){
或
if (email == null || email.trim().isEmpty()){
!
运算符是否定的。你不能用字符串。如果您要检查字符串是否为空,则必须使用email != null