0

私はこのようなGrailsサービス機能を持っています

public List<Object> getfunction(def test, def test1) {
  def criteria = Test.createCriteria();
  List<Object> list= criteria.list {
      projections{
          groupProperty('state')
          rowCount()
      }
  }
}

しかし、この関数の戻り値の型について少し混乱しました。現在の実装では機能していますが、戻り値の型が間違っていることはわかっています。

提案してください、事前に感謝します。

4

2 に答える 2

2

grails は groovy を使用し、groovy では method の最後のステートメントが return に使用されるため、作成したコードは機能しています。したがって、関数の型がvoidでない限り、メソッドの最後に書いたものは何でも返されます。

例えば:

String getFullName() {
    String firstName = "S"
    String lastName = "A"

    firstName + " " + lastName
}

これにより、連結された文字列が自動的に返されます。

于 2014-07-08T13:01:15.043 に答える
0

多分これが役立つでしょう。以下はすべてまったく同じことを行います。

public List<Object> getfunction(def test, def test1) {
    def criteria = Test.createCriteria();
    List<Object> list= criteria.list {
        projections{
            groupProperty('state')
            rowCount()
        }
    }
}

public List<Object> getfunction(def test, def test1) {
    def criteria = Test.createCriteria();
    List<Object> list= criteria.list {
        projections{
            groupProperty('state')
            rowCount()
        }
    }
    return list
}

public List<Object> getfunction(def test, def test1) {
    def criteria = Test.createCriteria();
    List<Object> list= criteria.list {
        projections{
            groupProperty('state')
            rowCount()
        }
    }
    list
}

public List<Object> getfunction(def test, def test1) {
    def criteria = Test.createCriteria();
    return criteria.list {
        projections{
            groupProperty('state')
            rowCount()
        }
    }
}

public List<Object> getfunction(def test, def test1) {
    def criteria = Test.createCriteria();
    criteria.list {
        projections{
            groupProperty('state')
            rowCount()
        }
    }
}

return ステートメントはオプションです。return ステートメントがない場合、最後の式が評価されたものは何でも返されます。

それが役立つことを願っています。

于 2014-07-08T13:59:21.027 に答える