如何使用&& (AND)和|| (或)for textView

时间:2017-01-24 09:14:28

标签: java android

我正在开发一个私人助理,它可以回答诸如"你好吗?"但是我不想为类似的问题定义相同的答案,例如"你觉得怎么样?"等我试图使用||在包含之后,它只是没有用。我怎么能用||在这种情况下?有人可以帮帮我吗?

代码:

else if (Text.getText().toString().contains("see you later")){
                    saySomething("Good bye sir"); }

我试过的代码:

else if (Text.getText().toString().contains("see you later"||"goodbye")){
                        saySomething("Good bye sir"); }

3 个答案:

答案 0 :(得分:3)

String s = text.getText().toString();
// disjunction of 2 contains
boolean orResult = s.contains("see you later") || s.contains("goodbye");
// alternative using regex
boolean regexResult = s.matches(".*(see you later|goodbye).*");

答案 1 :(得分:1)

else if (Text.getText().toString().contains("see you later"||"goodbye")){
                        saySomething("Good bye sir"); }

而不是尝试下面的代码

else if (Text.getText().toString().contains("see you later")  || Text.getText().toString().contains("goodbye")){
                        saySomething("Good bye sir"); }

答案 2 :(得分:1)

我的想法是减少if条款中的条件:

boolean isSeeLaterTxt = Text.getText().toString().contains("see you later");
boolean isGoodByeTxt = Text.getText().toString().contains("goodbye");

else if ( isSeeLaterTxt || isGoodByeTxt )) {
    saySomething("Good bye sir");
}

这是我的简短建议。代码将更易读。你可以稍后改变条件的灵活性。