commons-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ggreg...@apache.org
Subject svn commit: r1606073 - /commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/Conversion.java
Date Fri, 27 Jun 2014 12:52:37 GMT
Author: ggregory
Date: Fri Jun 27 12:52:37 2014
New Revision: 1606073

URL: http://svn.apache.org/r1606073
Log:
Refactor commons constants (no need to generate new arrays on every call).

Modified:
    commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/Conversion.java

Modified: commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/Conversion.java
URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/Conversion.java?rev=1606073&r1=1606072&r2=1606073&view=diff
==============================================================================
--- commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/Conversion.java (original)
+++ commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/Conversion.java Fri Jun
27 12:52:37 2014
@@ -65,6 +65,24 @@ import java.util.UUID;
  */
 
 public class Conversion {
+    
+    private static final boolean[] TTTT = new boolean[] { true, true, true, true };
+    private static final boolean[] FTTT = new boolean[] { false, true, true, true };
+    private static final boolean[] TFTT = new boolean[] { true, false, true, true };
+    private static final boolean[] FFTT = new boolean[] { false, false, true, true };
+    private static final boolean[] TTFT = new boolean[] { true, true, false, true };
+    private static final boolean[] FTFT = new boolean[] { false, true, false, true };
+    private static final boolean[] TFFT = new boolean[] { true, false, false, true };
+    private static final boolean[] FFFT = new boolean[] { false, false, false, true };
+    private static final boolean[] TTTF = new boolean[] { true, true, true, false };
+    private static final boolean[] FTTF = new boolean[] { false, true, true, false };
+    private static final boolean[] TFTF = new boolean[] { true, false, true, false };
+    private static final boolean[] FFTF = new boolean[] { false, false, true, false };
+    private static final boolean[] TTFF = new boolean[] { true, true, false, false };
+    private static final boolean[] FTFF = new boolean[] { false, true, false, false };
+    private static final boolean[] TFFF = new boolean[] { true, false, false, false };
+    private static final boolean[] FFFF = new boolean[] { false, false, false, false };
+
     /**
      * <p>
      * Converts a hexadecimal digit into an int using the default (Lsb0) bit ordering.
@@ -162,43 +180,43 @@ public class Conversion {
     public static boolean[] hexDigitToBinary(final char hexDigit) {
         switch (hexDigit) {
         case '0':
-            return new boolean[]{false, false, false, false};
+            return FFFF;
         case '1':
-            return new boolean[]{true, false, false, false};
+            return TFFF;
         case '2':
-            return new boolean[]{false, true, false, false};
+            return FTFF;
         case '3':
-            return new boolean[]{true, true, false, false};
+            return TTFF;
         case '4':
-            return new boolean[]{false, false, true, false};
+            return FFTF;
         case '5':
-            return new boolean[]{true, false, true, false};
+            return TFTF;
         case '6':
-            return new boolean[]{false, true, true, false};
+            return FTTF;
         case '7':
-            return new boolean[]{true, true, true, false};
+            return TTTF;
         case '8':
-            return new boolean[]{false, false, false, true};
+            return FFFT;
         case '9':
-            return new boolean[]{true, false, false, true};
+            return TFFT;
         case 'a':// fall through
         case 'A':
-            return new boolean[]{false, true, false, true};
+            return FTFT;
         case 'b':// fall through
         case 'B':
-            return new boolean[]{true, true, false, true};
+            return TTFT;
         case 'c':// fall through
         case 'C':
-            return new boolean[]{false, false, true, true};
+            return FFTT;
         case 'd':// fall through
         case 'D':
-            return new boolean[]{true, false, true, true};
+            return TFTT;
         case 'e':// fall through
         case 'E':
-            return new boolean[]{false, true, true, true};
+            return FTTT;
         case 'f':// fall through
         case 'F':
-            return new boolean[]{true, true, true, true};
+            return TTTT;
         default:
             throw new IllegalArgumentException("Cannot interpret '"
                 + hexDigit
@@ -222,43 +240,43 @@ public class Conversion {
     public static boolean[] hexDigitMsb0ToBinary(final char hexDigit) {
         switch (hexDigit) {
         case '0':
-            return new boolean[]{false, false, false, false};
+            return FFFF;
         case '1':
-            return new boolean[]{false, false, false, true};
+            return FFFT;
         case '2':
-            return new boolean[]{false, false, true, false};
+            return FFTF;
         case '3':
-            return new boolean[]{false, false, true, true};
+            return FFTT;
         case '4':
-            return new boolean[]{false, true, false, false};
+            return FTFF;
         case '5':
-            return new boolean[]{false, true, false, true};
+            return FTFT;
         case '6':
-            return new boolean[]{false, true, true, false};
+            return FTTF;
         case '7':
-            return new boolean[]{false, true, true, true};
+            return FTTT;
         case '8':
-            return new boolean[]{true, false, false, false};
+            return TFFF;
         case '9':
-            return new boolean[]{true, false, false, true};
+            return TFFT;
         case 'a':// fall through
         case 'A':
-            return new boolean[]{true, false, true, false};
+            return TFTF;
         case 'b':// fall through
         case 'B':
-            return new boolean[]{true, false, true, true};
+            return TFTT;
         case 'c':// fall through
         case 'C':
-            return new boolean[]{true, true, false, false};
+            return TTFF;
         case 'd':// fall through
         case 'D':
-            return new boolean[]{true, true, false, true};
+            return TTFT;
         case 'e':// fall through
         case 'E':
-            return new boolean[]{true, true, true, false};
+            return TTTF;
         case 'f':// fall through
         case 'F':
-            return new boolean[]{true, true, true, true};
+            return TTTT;
         default:
             throw new IllegalArgumentException("Cannot interpret '"
                 + hexDigit



Mime
View raw message