主要是来自于这个问题以及 github
https://stackoverflow.com/questions/32209248/java-util-stream-with-resultset
https://github.com/claudemartin/streamed-sql
在 Example.java 中
...
strsql.stream("SELECT * FROM FOO WHERE NAME LIKE 'L%' ORDER BY NAME", Foo::o
f))
...
这个
Foo::of 是建构式参考
但在 StreamedSQL.java 中 strsql.stream() 这个方法签署传入的是接口
public <T> Stream<T> stream(final String query, final ResultSetMapper<T> map
per) throws SQLException {
return stream(this.getDefConn(), query, mapper);
}
只知道静态方法签署中参数与回传值相同所以可使用建构式参考
但不清楚为何传入的是 ResultSetMapper 接口
以及从何得知T的实际型态为 Foo
另外 Foo::of 可以改用 lambda 写吗
谢谢