我具有被定义的函数,如下所示:传方法参照方法示出了错误
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