This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-compress.git

commit d47c426ca53bd91e7efdcf3ef67b924e2c6f4a00
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Tue Sep 3 07:29:49 2024 -0400

    Use Map.computeIfAbsent()
---
 .../compress/harmony/unpack200/CpBands.java        | 57 ++++------------------
 1 file changed, 9 insertions(+), 48 deletions(-)

diff --git 
a/src/main/java/org/apache/commons/compress/harmony/unpack200/CpBands.java 
b/src/main/java/org/apache/commons/compress/harmony/unpack200/CpBands.java
index fccaf2708..38d57ccd2 100644
--- a/src/main/java/org/apache/commons/compress/harmony/unpack200/CpBands.java
+++ b/src/main/java/org/apache/commons/compress/harmony/unpack200/CpBands.java
@@ -126,13 +126,7 @@ public class CpBands extends BandSet {
     }
 
     public CPDouble cpDoubleValue(final int index) {
-        final Double dbl = Double.valueOf(cpDouble[index]);
-        CPDouble cpDouble = doublesToCPDoubles.get(dbl);
-        if (cpDouble == null) {
-            cpDouble = new CPDouble(dbl, index + doubleOffset);
-            doublesToCPDoubles.put(dbl, cpDouble);
-        }
-        return cpDouble;
+        return 
doublesToCPDoubles.computeIfAbsent(Double.valueOf(cpDouble[index]), k -> new 
CPDouble(k, index + doubleOffset));
     }
 
     public CPFieldRef cpFieldValue(final int index) {
@@ -140,13 +134,7 @@ public class CpBands extends BandSet {
     }
 
     public CPFloat cpFloatValue(final int index) {
-        final Float f = Float.valueOf(cpFloat[index]);
-        CPFloat cpFloat = floatsToCPFloats.get(f);
-        if (cpFloat == null) {
-            cpFloat = new CPFloat(f, index + floatOffset);
-            floatsToCPFloats.put(f, cpFloat);
-        }
-        return cpFloat;
+        return floatsToCPFloats.computeIfAbsent(Float.valueOf(cpFloat[index]), 
k -> new CPFloat(Float.valueOf(cpFloat[index]), index + floatOffset));
     }
 
     public CPInterfaceMethodRef cpIMethodValue(final int index) {
@@ -154,23 +142,11 @@ public class CpBands extends BandSet {
     }
 
     public CPInteger cpIntegerValue(final int index) {
-        final Integer i = Integer.valueOf(cpInt[index]);
-        CPInteger cpInteger = integersToCPIntegers.get(i);
-        if (cpInteger == null) {
-            cpInteger = new CPInteger(i, index + intOffset);
-            integersToCPIntegers.put(i, cpInteger);
-        }
-        return cpInteger;
+        return 
integersToCPIntegers.computeIfAbsent(Integer.valueOf(cpInt[index]), k -> new 
CPInteger(k, index + intOffset));
     }
 
     public CPLong cpLongValue(final int index) {
-        final Long l = Long.valueOf(cpLong[index]);
-        CPLong cpLong = longsToCPLongs.get(l);
-        if (cpLong == null) {
-            cpLong = new CPLong(l, index + longOffset);
-            longsToCPLongs.put(l, cpLong);
-        }
-        return cpLong;
+        return longsToCPLongs.computeIfAbsent(Long.valueOf(cpLong[index]), k 
-> new CPLong(k, index + longOffset));
     }
 
     public CPMethodRef cpMethodValue(final int index) {
@@ -179,17 +155,13 @@ public class CpBands extends BandSet {
 
     public CPNameAndType cpNameAndTypeValue(final int index) {
         final String descriptor = cpDescriptor[index];
-        CPNameAndType cpNameAndType = 
descriptorsToCPNameAndTypes.get(descriptor);
-        if (cpNameAndType == null) {
+        return descriptorsToCPNameAndTypes.computeIfAbsent(descriptor, k -> {
             final int nameIndex = cpDescriptorNameInts[index];
             final int descriptorIndex = cpDescriptorTypeInts[index];
-
             final CPUTF8 name = cpUTF8Value(nameIndex);
             final CPUTF8 descriptorU = cpSignatureValue(descriptorIndex);
-            cpNameAndType = new CPNameAndType(name, descriptorU, index + 
descrOffset);
-            descriptorsToCPNameAndTypes.put(descriptor, cpNameAndType);
-        }
-        return cpNameAndType;
+            return new CPNameAndType(name, descriptorU, index + descrOffset);
+        });
     }
 
     public CPNameAndType cpNameAndTypeValue(final String descriptor) {
@@ -218,25 +190,14 @@ public class CpBands extends BandSet {
         } else {
             globalIndex = index + signatureOffset;
         }
-        final String string = cpSignature[index];
-        CPUTF8 cpUTF8 = stringsToCPUTF8.get(string);
-        if (cpUTF8 == null) {
-            cpUTF8 = new CPUTF8(string, globalIndex);
-            stringsToCPUTF8.put(string, cpUTF8);
-        }
-        return cpUTF8;
+        return stringsToCPUTF8.computeIfAbsent(cpSignature[index], k -> new 
CPUTF8(k, globalIndex));
     }
 
     public CPString cpStringValue(final int index) {
         final String string = cpString[index];
         final int utf8Index = cpStringInts[index];
         final int globalIndex = stringOffset + index;
-        CPString cpString = stringsToCPStrings.get(string);
-        if (cpString == null) {
-            cpString = new CPString(cpUTF8Value(utf8Index), globalIndex);
-            stringsToCPStrings.put(string, cpString);
-        }
-        return cpString;
+        return stringsToCPStrings.computeIfAbsent(string, k -> new 
CPString(cpUTF8Value(utf8Index), globalIndex));
     }
 
     public CPUTF8 cpUTF8Value(final int index) {

Reply via email to