我具有被定義的函數,如下所示:傳方法參照方法示出了錯誤
public static <T> T readSingleValue(MyTransaction t, String s, T alternativeVal, Function<Integer, T> rsGetter) {
...
return rsGetter.apply(1);
}
現在我想調用此方法是這樣的:
readSingleValue(transaction, "select count(0) from users", 0, ResultSet::getInt);
而結果集:: getInt( )被定義爲這樣的:
int getInt(int columnIndex)
我的編譯器顯示我的參數ResultSet::getInt
以下錯誤: 非靜態方法不能從靜態上下文中引用
我在這裏做錯了什麼?
你會得到'ResultSet'對象來調用'getInt'嗎? –
好問題,我沒有想過這個。謝謝 – sfandler
如果你有變量'ResultSet rs',你可以使用方法引用'rs :: getInt'作爲你方法的最後一個參數。 – Misha