同时比较字符串AND和OR

时间:2018-06-24 15:29:32

标签: java android string compare

我在使用AND和OR比较字符串时遇到问题。 如果注释为空并且“规则”等于“ A”或“ B”或“ C”,我想显示一个错误。这意味着,如果“规则”等于“ A”,“ B”或“ C”以外的任何其他值,并且“注释”为空,则可以,但是在其他情况下,它应该显示错误。

此时,&&仅与equals。(“ C”)和isEmpty一起使用。我无法使其与“ A”和“ B”同时使用...

结果是,如果等于A并且注释不为空,则错误仍然出现,对于B相同,并且对于C可以正常使用...

    String comment = commentet.getText().toString();
    if (rule.equals("A") || rule.equals("B") || rule.equals("C") && TextUtils.isEmpty(commentaire)) {
        commentet.setError("Comment is necessary");
        return;
    }

您知道如何解决此问题吗?

感谢您的帮助。

3 个答案:

答案 0 :(得分:6)

这项工作:

    String comment = commentet.getText().toString();
    if ((rule.equals("A") || rule.equals("B") || rule.equals("C")) && TextUtils.isEmpty(commentaire)) {
        commentet.setError("Comment is necessary");
        return;
    }

基本上将A,B,C支票放在括号内。

答案 1 :(得分:3)

您可以将regex用于或部分:

if(TextUtils.isEmpty(commentaire) && rule.matches("A|B|C")){ ... }

答案 2 :(得分:-1)

尝试一下

String comment = commentet.getText().toString();

if ((rule.equals("A") || rule.equals("B") || rule.equals("C")) && TextUtils.isEmpty(commentaire)) {

commentet.setError("Comment is necessary");

return;

}