-4

if ステートメントの下に getsomething を配置すると、機能しますか? そうでない場合、if something.equals(x) ステートメントごとに getSomething を返すようにする方法は? PS:構文を無視します。If ステートメントがメイン メソッドにあります。

 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()(そして、そのメソッドと同じ型を返しましたが、現時点では void ではないため)、メソッド定義をネストすることはできません。

その 1 つのケースでのみ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 に答える