最近被网上一个简单的问题困扰,就是单独的if语句要满足什么条件可以执行?
如下程序,不能执行:
class test { public String test() { if(true){ return ""; } } } 但是加了else语句就可以了。

解决方案 »

  1.   


    这是错误的代码,test()方法返回String类型,但是你的if不满足时就没有返回值。
    修改成下面的就可以了 ,这不是if的问题,是方法的问题,有返回值的方法必须保证
    有该类型的返回值。
    public class test {  public String test() {  if(true){  return "";  }
    return null;  }  }
      

  2.   

    1楼说的没错  你这个方法是要返回String类型的   这里跟if执行与否无关..虽然你是if(true).你是知道这个if里面的是肯定会执行,,但是计算机会认为你这个有可能不执行..如果不执行的话你整个方法就无返回值.就你这段代码,报错的话应该是  必须返回一个String类型的量.加else以后,,就是说.两条语句无论如何都会执行一条  所以不会报错.. 
      还有..哪怕你是用多重if的话..如果无else..照样会报错的.!
      

  3.   

    需要在任何情况下都返回一个String