有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java检查ConcurrentHashMap的ComputeFabSent是否更改了某些内容

您如何知道ConcurrentHashMap的函数ComputeFabSent必须调用给定的生成器方法(“mappingFunction”)
从Javadoc中,我相信它会返回新的值(如果生成了一个值),并返回旧的值(如果存在)。我可以从lambda生成器函数设置一个外部标志,但这会很尴尬


共 (1) 个答案

  1. # 1 楼答案

    您可以改用compute

    map.compute(key, (k, v) -> v == null ? /*absent*/ this::getValue : /*present*/ v);
    

    并添加一些逻辑来检查调用哪个分支