2014-07-08 26 views
0

我有一個Grails服務功能這樣Grails服務函數的返回類型是什麼?

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

但我有點困惑的返回類型此 的功能,與目前的實現中,它是工作,但我知道這是錯誤的返回類型。

請提前建議,謝謝。

+0

爲什麼你認爲返回類型是錯誤的? –

+0

不,它只是簡單的權利? –

+0

投影返回標準列表,所以是的,這是正確的。 –

回答

2

您編寫的代碼正在工作,因爲grails使用groovy,並且在groovy中,方法的最後一個語句用於返回。因此,無論您在任何方法末尾寫入的內容都將被返回,除非函數類型爲void

例如:

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

    firstName + " " + lastName 
} 

這將自動返回連接字符串。

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語句是可選的。當沒有返回語句時,無論最後一個表達式的結果如何,返回。

我希望幫助。

相關問題