运营商 !未定义参数类型字符串java(Android)

时间:2015-03-19 07:13:12

标签: java android if-statement

我正在使用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的新手,所以不要贬低它。

1 个答案:

答案 0 :(得分:1)

文本字段返回一个空字符串,因此您还必须检查字符串是否为空:

if (email == null || email.trim().length()>0){

if (email == null || email.trim().isEmpty()){

!运算符是否定的。你不能用字符串。如果您要检查字符串是否为空,则必须使用email != null