日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Java 8:lambda表達式中的強制檢查異常處理。為什么是強制性的而不是可選性的?

瀏覽:212日期:2024-04-24 08:55:54
如何解決Java 8:lambda表達式中的強制檢查異常處理。為什么是強制性的而不是可選性的??

不確定我是否真的回答了您的問題,但是您不能簡單地使用類似的內(nèi)容嗎?@H_301_1@

public final class supplierUtils { private supplierUtils() { } public static <T> supplier<T> wrap(Callable<T> callable) {return () -> { try {return callable.call(); } catch (RuntimeException e) {throw e; } catch (Exception e) {throw new RuntimeException(e); }}; }}public class JdbcConnectionPool extends ObjectPool<Connection> { public JdbcConnectionPool(int maxConnections, String url) {super(supplierUtils.wrap(() -> DriverManager.getConnection(url)), maxConnections); }}解決方法

我正在使用Java 8的新lambda功能,發(fā)現(xiàn)Java 8提供的實踐確實很有用。但是,我想知道是否有一種 很好的方法來解決以下情況。假設(shè)您有一個對象池包裝器,需要某種工廠來填充對象池,例如(使用java.lang.functions.Factory):

public class JdbcConnectionPool extends ObjectPool<Connection> { public ConnectionPool(int maxConnections,String url) {super(new Factory<Connection>() { @Override public Connection make() {try { return DriverManager.getConnection(url);} catch ( SQLException ex ) { throw new RuntimeException(ex);} }},maxConnections); }}

將功能接口轉(zhuǎn)換為lambda表達式后,上面的代碼變?yōu)椋?/p>

public class JdbcConnectionPool extends ObjectPool<Connection> { public ConnectionPool(int maxConnections,String url) {super(() -> { try {return DriverManager.getConnection(url); } catch ( SQLException ex ) {throw new RuntimeException(ex); }},maxConnections); }}

確實還算不錯,但是檢查的異常java.sql.SQLException需要在lambda內(nèi)部加上try/catch塊。在我公司,我們長時間使用兩個接口:

IOut<T>相當(dāng)于java.lang.functions.Factory;還有一個特殊的接口,用于通常需要檢查異常傳播的情況:interface IUnsafeOut<T,E extends Throwable> { T out() throws E; }。

這兩個IOut<T>和IUnsafeOut<T>應(yīng)該遷移到Java 8中被刪除,但是不存在用于精確匹配IUnsafeOut<T,E>。如果lambda表達式可以像未檢查的那樣處理已檢查的異常,則可以在上面的構(gòu)造函數(shù)中像下面這樣簡單地使用它:

super(() -> DriverManager.getConnection(url),maxConnections);

看起來更干凈了。我看到可以重寫ObjectPool超類來接受我們的IUnsafeOut<T>,但是據(jù)我所知,Java8尚未完成,因此可能會有一些變化,例如:

實現(xiàn)類似于IUnsafeOut<T,E>?(說實話,我認為這很臟-受試者必須選擇接受什么:Factory不能兼容的方法簽名的“不安全工廠”)只是忽略了lambda中的檢查異常,因此不需要IUnsafeOut<T,E>代理嗎?(為什么不這樣做?例如,另一個重要的變化:我使用的OpenJDK javac現(xiàn)在不需要將變量和參數(shù)聲明為final在匿名類[功能接口]或lambda表達式中捕獲)

因此,問題通常是:有沒有辦法繞過lambda中的檢查異常,還是在Java 8最終發(fā)布之前計劃在將來進行?

更新1

嗯,據(jù)我所知,盡管參考文章的日期為2010年,但看來目前尚無辦法:BrianGoetz解釋了Java中的異常透明性。如果Java8中沒有太大變化,則可以認為是答案。Brian也說interface ExceptionalCallable<V,E extendsException>(我在IUnsafeOut<T,E extends Throwable>代碼遺留中提到的內(nèi)容)幾乎沒有用,我同意他的觀點。

我還想念其他東西嗎?

標(biāo)簽: java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美xxxx中国| 精品一区视频| 99久久婷婷这里只有精品| 电影天堂国产精品| 亚洲福利一区| 综合一区在线| 亚久久调教视频| 欧美xxxx性| 日本在线精品| 中文国产一区| 久久精品99国产精品| 国产一区二区精品久| 神马日本精品| 日韩中文字幕在线一区| 精品欧美日韩精品| 欧美日韩日本国产亚洲在线| 日韩一区二区三区在线看| 久久精品九色| 欧美日韩第一| 日本va欧美va精品发布| 精品国产午夜| 国产精品99免费看| 亚洲精品婷婷| 精品入口麻豆88视频| 伊人久久亚洲影院| 国产精品a级| 久久国产精品成人免费观看的软件| 一区在线免费| 久久99蜜桃| 在线国产一区二区| 欧美一区在线观看视频| 欧美日韩免费观看视频| 日韩一区精品字幕| 精品国产精品久久一区免费式 | 欧美日韩国产一区精品一区| 亚洲精品大全| 伊人久久国产| 日本电影久久久| 激情六月综合| 麻豆视频一区| 亚洲色图综合| 久久久久.com| 久久这里只有| 免费成人性网站| 日韩免费高清| 国产精品欧美大片| 喷白浆一区二区| 日韩中文视频| 免费亚洲婷婷| 久久最新视频| 人人草在线视频| 久久国产精品免费一区二区三区| 九九久久电影| 国产suv精品一区二区四区视频 | 国产成人免费| 欧美一级全黄| 一区二区91| 免费观看不卡av| 国产成人精选| 国产精品一区三区在线观看| 亚洲欧美久久久| 日韩伦理在线一区| 国产乱码精品一区二区三区四区| 一区二区日韩免费看| 午夜国产一区二区| 久久久水蜜桃av免费网站| 你懂的网址国产 欧美| 亚洲精品自拍| 亚洲一区激情| 1024精品一区二区三区| www在线观看黄色| 国产日韩三级| 日韩成人av影视| 日韩精品一级| 一区二区国产在线| 国产精品腿扒开做爽爽爽挤奶网站| 四虎国产精品免费观看| 久久一区精品| 精品日韩一区| 精品国产亚洲一区二区三区大结局| 欧美久久精品| 日韩欧美中文字幕在线视频| 视频一区视频二区在线观看| 尤物网精品视频| 欧美福利专区| 国内精品99| 欧美特黄一区| 国产一区91| 乱人伦精品视频在线观看| 99日韩精品| 午夜国产精品视频| 激情久久久久久久| 亚洲性视频h| 婷婷综合在线| 在线精品一区二区| 亚洲精品一级二级三级| 亚洲精品自拍| 国产毛片一区二区三区| 国产精品**亚洲精品| 欧美国产亚洲精品| 国产suv精品一区二区四区视频 | 欧美亚洲tv| 日韩有吗在线观看| 日韩毛片网站| 日韩高清不卡一区| 久久不卡国产精品一区二区| 欧美激情精品| 久草免费在线视频| 久久裸体视频| 国产精品视区| 7777精品| 国产一区二区三区亚洲| 日韩亚洲一区在线| 欧美日韩国产免费观看视频| 亚洲欧美不卡| 日本色综合中文字幕| 久久午夜影院| 久久人人97超碰国产公开结果| 欧美日韩亚洲在线观看| 久久电影一区| 国产精品66| 国产综合激情| 日韩高清国产一区在线| 国产成人精品福利| 99re国产精品| 国产精品1区在线| 久久中文亚洲字幕| 视频一区日韩| 高清不卡一区| 在线亚洲观看| 久久av网站| 久久要要av| 日韩欧美中文字幕一区二区三区| 久久精品国产一区二区| 狠狠干综合网| 国产欧美一区二区三区精品观看| 久久男人av资源站| 亚洲欧美在线综合| 成人午夜毛片| 亚洲精品免费观看| 天堂8中文在线最新版在线| 麻豆成人在线| 国产va在线视频| 日韩高清在线观看一区二区| 欧美精选视频一区二区| 日韩精品免费视频一区二区三区| 四虎成人av| 天堂av一区| 久久影院一区| 美腿丝袜在线亚洲一区| 日韩精品一区第一页| 日本美女一区| 国产精品一级| 久久国产精品毛片| 国产a亚洲精品| 日本成人在线视频网站| 久久国产中文字幕| 久久99高清| 日韩高清电影一区| 欧美中文一区二区| 麻豆国产欧美日韩综合精品二区| 国产毛片一区| 成人精品亚洲| 国产精品对白| 中文字幕成人| 国产一区欧美| 精品中国亚洲| 日韩成人午夜精品| 99视频在线精品国自产拍免费观看| 精品国产美女a久久9999| 日韩国产高清在线| 国产视频久久| 99久久夜色精品国产亚洲狼| 国产精品一区二区av日韩在线| 免费日韩av| 欧美成人国产| 久久久久免费| 欧美国产极品| 亚洲日韩视频| 狠狠干成人综合网| 久久久一二三| 88xx成人免费观看视频库| 久久精品福利| 久久av资源| 欧美激情在线精品一区二区三区| 日韩av不卡一区二区| 亚洲精品欧美| 亚洲乱亚洲高清| 蜜桃久久精品一区二区| 91久久黄色| 亚洲视频www| 日韩午夜av在线| 九九在线精品| 日韩在线观看不卡| 日韩理论片av| 超级白嫩亚洲国产第一| 国产成人精选| 97精品在线| 天堂√中文最新版在线| 日韩欧美一区二区三区免费看|