java if函数的使用方法_java – 如何使用新的computeIfAbsent函数?
假设你有以下代码:
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
public class Test {
public static void main(String[] s) {
Map whoLetDogsOut = new ConcurrentHashMap<>();
whoLetDogsOut.computeIfAbsent("snoop", k -> f(k));
whoLetDogsOut.computeIfAbsent("snoop", k -> f(k));
}
static boolean f(String s) {
System.out.println("creating a value for \""+s+'"');
return s.isEmpty();
}
}
然后,您将看到消息在“第二次调用computeIfAbsent”时直接创建一个“snoop”值,该密钥已经是该密钥的值. λ表达式中的k – > f(k)只是地图将传递给您的lambda计算该值的密钥的placeolder(参数).所以在这个例子中,键被传递给函数调用.
或者你可以写:whoLetDogsOut.computeIfAbsent(“snoop”,k – > k.isEmpty());在没有帮助方法的情况下实现相同的结果(但是您将看不到调试输出).甚至更简单,因为它是对现有方法的简单委派,您可以编写:whoLetDogsOut.computeIfAbsent(“snoop”,String :: isEmpty);该委托不需要任何参数的编写.
为了更接近你的问题的例子,你可以把它写成whoLetDogsOut.computeIfAbsent(“snoop”,key – > tryToLetOut(key)); (无论你是命名参数k还是键).或者写为whoLetDogsOut.computeIfAbsent(“snoop”,MyClass :: tryToLetOut);如果tryToLetOut是static或whoLetDogsOut.computeIfAbsent(“snoop”,this :: tryToLetOut);如果tryToLetOut是一个实例方法.
java if函数的使用方法_java – 如何使用新的computeIfAbsent函数?相关推荐
- java如何用c 的方法_JAVA如何调用C/C++方法
JAVA以其跨平台的特性深受人们喜爱,而又正由于它的跨平台的目的,使得它和本地机器的各种内部联系变得很少,约束了它的功能.解决JAVA对本地操作的一种方法就是JNI. JAVA通过JNI调用本地方法, ...
- java单元测试异步不进去方法_java单元测试之如何实现异步接口的测试案例
测试是软件发布的重要环节,单元测试在实际开发中是一种常用的测试方法,java单元测试主要用junit,最新是junit5,本人开发一般用junit4.因为单元测试能够在软件模块组合之前尽快发现问题,所 ...
- java中容易混淆的方法_java中容易混淆的概念
java中容易混淆的概念 1. 谈谈 final, finally, finalize 的区别final-修饰符(关键字)如果一个类被声明为 final,意味着它不能再派生出新的子类,不 能作为父类被 ...
- java 创建文件夹的方法_Java创建文件夹的方法
Java创建文件夹的方法 /** * 用于创建文件夹的方法 * @param mkdirName */ public void mkdir(String mkdirName) { try { File ...
- java私有属性和私有方法_Java接口–历年来Java 9之旅–默认方法和私有方法
java私有属性和私有方法 介绍 Java接口已经比Java版本进行了更多的演变,而Java 8和Java 9则有所发展.在本文中,我们将介绍接口在Java 8之前的样子以及如何在Java 8和Jav ...
- java私有属性和私有方法_Java 9中什么是私有的?
java私有属性和私有方法 在进行面试时,我发现大多数应聘者都不知道Java中的private修饰符真正意味着什么. 他们对此有所了解,足以应付日常编码,但还远远不够. 这不成问题. 足够了解就足够了 ...
- java私有属性和私有方法_Java私有,受保护,公共和默认
java私有属性和私有方法 您是Java程序员,所以您知道我在说什么. public修饰符使方法或字段可从应用程序中的任何位置访问. 那是简单的部分. 但是,您能告诉我protected和包私有的区别 ...
- java中容易混淆的方法_java中容易混淆的区别
本文会随时更新一些java中容易混淆的关键字或者知识点,如有偏见之处,望留言! final和static的差别: 1,final的英语意思"最后的",在java中修饰类,方法和变量 ...
- java调用接口实现的方法_java调用接口的实现方法
java调用接口的实现方法 发布时间:2020-06-29 11:08:46 来源:亿速云 阅读:78 作者:Leah 本篇文章给大家分享的是有关java调用接口的实现方法,小编觉得挺实用的,因此分享 ...
最新文章
- Leetcode 391.完美矩形
- static和global的区别
- 【 Vivado 】Performing System-Level Design Entry(总览)
- P2278-[HNOI2003]操作系统【堆】
- 几道web前端练习题目
- 什么是Azure Data Lake
- Project Euler Problem 48: Self powers
- python 中 enumerate() 函数使用
- 爬虫--Scrapy-CrawlSpider基于CrawlSpide的分布式爬虫
- 在线合成车牌照片【模拟车牌,用于车牌识别项目测试】
- unity webgl获取页面Token信息,及加载StreamingAssets下.txt
- redhat linux系统下查看Emulex HBA卡基本命令
- 《数据结构》邓俊辉 网课习题详细解析(第五章:二叉树)
- weblogic漏洞
- Victor ti99不错
- 【机器学习入门系列】第二章 探索性分析
- 计算机校招软件测试笔试题,校招软件测试笔试题
- 文件路径:反斜杆和正斜杠用法
- 第47章 表单验证之DataAnnotations与FluentValidation
- H264 raw stream获取nalu的长度信息
热门文章
- fastjson android 版本,fastjson 1.1.58.android 发布,Bug 修复版本
- 03:计算书费【一维数组】
- Python暴力破解凯撒加密的文本
- 几行代码理解Python变量访问的LEGB顺序
- DFS--01背包问题
- python css_Python-CSS整理
- python生成热度图_Python数据可视化 热力图
- 将js对象转化为树形结构
- 设置最小值_WELSIM中设置有限元计算结果的最大最小值
- sql unicode转中文_汉字转拼音的Java类库 JPinyin