使用Java 8 Optional for String of List作为输出
发布时间:2020-12-15 02:57:56 所属栏目:Java 来源:网络整理
导读:我想对返回List的方法使用Optional 让我们说功能是 public Output getListOfSomething() { // In some cases there is nothing to return and hence it makes sense to have return // type as Optional here} 因此该函数看起来像: public OptionalListStri
我想对返回List的方法使用Optional
让我们说功能是 public Output getListOfSomething() { // In some cases there is nothing to return and hence it makes sense to have return // type as Optional here } 因此该函数看起来像: public Optional<List<String>> getListOfSomething() { // return something only when there is some valid list } 现在我想做一些事情,如果列表存在,如下所示: Optional<List<String>> listOfSomething = getListOfSomething(); int size = 0; listOfSomething.ifPresent(size = listOfSomething.get().size()); 我是Optional的新手,已经阅读了有关Optional的文章,看起来这应该可行但是我的IDE中出现语法错误:
我想从开发人员那里获得一些帮助,他们可能会更熟练地使用java 8中的lamdas. 解决方法
真正的功能编程方式如下:
size = listOfSomething.map(List::size).orElse(0); 但是返回一个空List而不是Optional会好得多. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |