-4

如果我将 getsomething 放在 if 语句下面,它会起作用吗?如果不是,如何让它为每个 if something.equals(x) 语句返回 getSomething?PS:忽略语法。if 语句在 main 方法中。

 if (something.equals(x))){
   return getSomething;

   private void getSomething() {
     String variable1 = "SELECT x from y";
     return;
   }
 }
4

3 回答 3

2

这是行不通的,因为 Java 不允许您嵌套方法定义。()此外,即使没有参数,您也必须在方法调用中包含空括号,并且您不能返回void方法调用的结果。

于 2013-06-11T21:30:52.557 回答
2

如果您getSomething()在该类中定义为普通方法(并且它返回与该方法相同的类型,目前它不是无效的)但您不能嵌套方法定义,这将起作用。

如果您只想getSomething()在这种情况下使用该方法,只需将其声明为私有,这样它就不能在该特定类之外使用。

于 2013-06-11T21:31:31.930 回答
1

您不能以这种方式嵌套方法。相反,打破你的方法是这样的:

public String someMethod() {
    if (something.equals(x))) {
         return getSomething();

    return getSomethingElse();
}

private String getSomethingElse() {
    return "SELECT x from y";
}
于 2013-06-11T21:33:17.667 回答