主要是來自於這個問題以及 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 寫嗎
謝謝
----
Sent from BePTT
--