Определить, действительно ли операция put выполняется в методе putIfAbsent ConcurrentHashMap? - PullRequest
1 голос
/ 04 августа 2020

Я хочу знать, действительно ли операция put выполняется в методе putIfAbsent ConcurrentHashMap.

Это то, что я хочу:

if(map.putIfAbsent(Key,Value)){//Clearly this is wrong
  return true;
}

//other operation

return false;

1 Ответ

4 голосов
/ 04 августа 2020

Map # putIfAbsent вернет null, если связанный ключ не существует или значение для ключа равно null. В противном случае он вернет существующее значение.

V resultOfPut = map.putIfAbsent(key, value);

if (resultOfPut == null) {
    // was able to put
} else {
    // was not able to put, value already exists
}
...