0
我试图创建一个方法,将函数的结果放入使用未绑定引用(我认为)的使用者。这是场景。使用JDBC的ResultSet,您可以通过索引获取行值。我有一个我想要将选定值放入的Bean实例。我正在寻找一种方式来避免编写锅炉板映射代码,而是实现类似:Java 8未绑定的参考语法奋斗
static <T> void copy(Consumer<T> setter, Function<T, Integer> getter, Integer i);
,并调用它像:
copy(Bean::setAValue, ResultSet::getString, 0)
我不想绑定Bean
和ResultSet
到实例太早了,因为我希望这可以用于任何ResultSet
豆。
我一直在试图从工作的例子是:
println(Object::toString, 0L);
,什么是错用'bean.setAValue(rs.getString(0))'?你的代码如何优于那个?顺便说一句,你的问题到底是什么? – Seelenvirtuose
您将无法使用'Consumer'或'Function' - 这些接口声明只接受单个参数的方法。你需要一些可以接受两个参数的东西(在'Bean :: setValue'的情况下 - 一个代表'Bean',然后另一个代表'T')。 –
目前还不清楚你在哪里遇到困难。你可能遇到ResultSet#getString引发一个检查过的'SQLException'的问题。我认为这违反了'Function'接口。 – bradimus