7

假设我有一个布尔方法,它使用if语句来检查返回类型是true还是false

public boolean isValid() {
   boolean check;
   int number = 5;

   if (number > 4){
      check = true;
   } else {
      check = false;
   }

 return check;

现在,我想将此方法用作不同方法中if语句的参数:

if(isValid == true)  // <-- this is where I'm not sure
   //stop and go back to the beginning of the program
else
   //continue on with the program

所以基本上我要问的是,我如何检查 if 语句的参数中布尔方法的返回类型是什么?非常感谢您的回答。

4

7 回答 7

13

由于它是一种方法,因此要调用它,您应该在之后使用括号,因此您的代码将变为:

if(isValid()) {
    // something
} else {
    //something else
}
于 2012-11-27T06:28:42.943 回答
3
public boolean isValid() {
   int number = 5;
   return number > 4;
}

if (isValid()) {
    ...
} else {
    ...
}
于 2012-11-27T06:30:16.013 回答
2

您应该能够在 IF 条件内调用该函数,以便:

if (isValid()) {

}else {

}

由于isValid()返回 a boolean,因此将立即评估条件。我听说在测试条件之前创建一个本地变量是更好的形式。

 boolean tempBoo = isValid();

 if (tempBoo) {

 }else {

 }
于 2012-11-27T06:31:48.743 回答
2

- If语句只接受 boolean值。

public boolean isValid() {

   boolean check = false;   // always intialize the local variable
   int number = 5;

   if (number > 4){
      check = true;
   } else {
      check = false;
   }

 return check;

}


if(isValid()){

    // Do something if its true
}else{

    // Do something if its false
}
于 2012-11-27T07:06:00.947 回答
0
if (isValid()) {
   // do something when the method returned true
} else {
   // do something else when the method returned false
}
于 2012-11-27T06:30:41.417 回答
0

您可以使用 :

if(isValid()){
     //do something....
}
else
{
    //do something....
}
于 2012-11-27T06:34:02.270 回答
0
public boolean isValid() {
   boolean check;
   int number = 5;

   if (number > 4){
      check = true;
   } else {
      check = false;
   }

 return check;

如果没有布尔检查,你怎么能完成整个方法?

那么如何摆脱.. check = true,check = false,return check 的东西?

于 2017-11-18T12:04:34.617 回答