日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

guava Lists.transform 踩过的坑

發(fā)布時間:2024/4/14 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 guava Lists.transform 踩过的坑 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2019獨角獸企業(yè)重金招聘Python工程師標準>>>

package com.case;import java.util.List;import com.google.common.base.Function; import com.google.common.collect.Lists;/*** Step on the pit with guava* * @author James* @version $Id: GuavaListsTransFormCase.java, v 0.1 2017年3月24日 下午8:36:36 James Exp $*/ public class GuavaListsTransFormCase {public static void main(String[] args) {List<A> as = Lists.newArrayList();A a = new A();a.setC(1);as.add(a);try {System.out.println("case1 start");transFormCase1(as);} catch (Exception e) {System.out.println(e.getMessage());} finally {System.out.println("case1 end");}try {System.out.println("case2 start");transFormCase2(as);} catch (Exception e) {System.out.println(e.getMessage());} finally {System.out.println("case2 end");}}private static List<B> transFormCase1(List<A> as) {return Lists.transform(as, new Function<A, B>() {@Overridepublic B apply(A input) {B b = new B();b.setC(input.getC() / 0);//...variablesreturn b;}});}private static List<B> transFormCase2(List<A> as) {return Lists.newArrayList(Lists.transform(as, new Function<A, B>() {@Overridepublic B apply(A input) {B b = new B();b.setC(input.getC() / 0);//...variablesreturn b;}}));} }class A {private int c;//...variablespublic int getC() {return c;}public void setC(int c) {this.c = c;}}class B {private int c;//...variablespublic int getC() {return c;}public void setC(int c) {this.c = c;} }

執(zhí)行結(jié)果:?

case1 start case1 end case2 start / by zero case2 end

case2比case1多了一步,在使用Lists.transform的時候?qū)⑥D(zhuǎn)換結(jié)果,用Lists.newArrayList 重新產(chǎn)生一個新的list。以確保function內(nèi)的代碼(比如調(diào)用遠程方法,操作數(shù)據(jù)庫等容易拋出異常的代碼)立即被執(zhí)行,而不是在要使用的時候執(zhí)行,從而導致異常沒有在預期的地方被捕獲。

轉(zhuǎn)載于:https://my.oschina.net/phridem/blog/866531

總結(jié)

以上是生活随笔為你收集整理的guava Lists.transform 踩过的坑的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。