Dogfooding - Bug 572300 - Primitive boxed just to call toString.

In a number of classes.

A boxed primitive is allocated just to call toString(). It is more
effective to just use the static form of toString which takes the
primitive value. So,


Replace...

With this...

new Integer(1).toString() Integer.toString(1)
new Long(1).toString() Long.toString(1)
new Float(1.0).toString() Float.toString(1.0)
new Double(1.0).toString() Double.toString(1.0)
new Byte(1).toString() Byte.toString(1)
new Short(1).toString() Short.toString(1)
new Boolean(true).toString() Boolean.toString(true)

Rank: Of Concern (16), confidence: High
Pattern: DM_BOXED_PRIMITIVE_TOSTRING
Type: Bx, Category: PERFORMANCE (Performance)


Change-Id: Ie2f7cbada6dfd4fb51495dd6b8e83c38bb675812
Signed-off-by: Carsten Hammer <carsten.hammer@t-online.de>
Signed-off-by: Lars Vogel <Lars.Vogel@vogella.com>
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaConnectTab.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaConnectTab.java
index 374512a..5ac1c39 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaConnectTab.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaConnectTab.java
@@ -241,7 +241,7 @@
 						editor.getPreferenceStore().setValue(key, value);
 					}
 					else if (arg instanceof Connector.BooleanArgument) {
-						editor.getPreferenceStore().setValue(key, Boolean.valueOf(value).booleanValue());
+						editor.getPreferenceStore().setValue(key, Boolean.parseBoolean(value));
 					}
 					else if (arg instanceof Connector.IntegerArgument) {
 						editor.getPreferenceStore().setValue(key, Integer.parseInt(value));
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/BreakpointHitCountAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/BreakpointHitCountAction.java
index dfe9af6..7990e71 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/BreakpointHitCountAction.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/BreakpointHitCountAction.java
@@ -134,7 +134,7 @@
 			@Override
 			public String isValid(String value) {
 				try {
-					hitCount= Integer.valueOf(value.trim()).intValue();
+					hitCount= Integer.parseInt(value.trim());
 				} catch (NumberFormatException nfe) {
 					hitCount= -1;
 				}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenFromClipboardAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenFromClipboardAction.java
index aa3d273..b6e3e30 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenFromClipboardAction.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenFromClipboardAction.java
@@ -311,7 +311,7 @@
 			typeName = s.substring(0, typeName.indexOf(".java")); //$NON-NLS-1$
 			String lineNumber = s.substring(index + 1, s.length());
 			lineNumber = lineNumber.trim();
-			int line = (Integer.valueOf(lineNumber)).intValue();
+			int line = Integer.parseInt(lineNumber);
 			getTypeMatches(typeName, matches);
 			return line;
 		}
@@ -326,7 +326,7 @@
 			typeName = typeName.trim();
 			String lineNumber = s.substring(index + 1, s.length());
 			lineNumber = lineNumber.trim();
-			int line = (Integer.valueOf(lineNumber)).intValue();
+			int line = Integer.parseInt(lineNumber);
 			getTypeMatches(typeName, matches);
 			return line;
 		}
@@ -336,7 +336,7 @@
 			String typeLine = s.substring(index1 + 1, index2).trim();
 			int index = typeLine.indexOf(':');
 			String lineNumber = typeLine.substring(index + 1, typeLine.length()).trim();
-			int line = (Integer.valueOf(lineNumber)).intValue();
+			int line = Integer.parseInt(lineNumber);
 
 			Pattern pattern = Pattern.compile(STACK_TRACE_QUALIFIED_LINE_PATTERN);
 			Matcher matcher = pattern.matcher(s);
@@ -361,7 +361,7 @@
 			String method = s.substring(0, index + 1);
 			index = s.indexOf(':');
 			String lineNumber = s.substring(index + 1).trim();
-			int line = (Integer.valueOf(lineNumber)).intValue();
+			int line = Integer.parseInt(lineNumber);
 			getMethodMatches(method, matches);
 			return line;
 		}
diff --git a/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/ASTInstructionCompiler.java b/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/ASTInstructionCompiler.java
index 35e5d92..38aaf4b 100644
--- a/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/ASTInstructionCompiler.java
+++ b/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/ASTInstructionCompiler.java
@@ -3282,13 +3282,13 @@
 		token = removePrefixZerosAndUnderscores(token, false);
 		switch (getBase(token)) {
 		case 8:
-			return Integer.valueOf(token.substring(1), 8).intValue();
+			return Integer.parseInt(token.substring(1), 8);
 		case 16:
-			return Integer.valueOf(token.substring(2), 16).intValue();
+			return Integer.parseInt(token.substring(2), 16);
 		case 2:
-			return Integer.valueOf(token.substring(2), 2).intValue();
+			return Integer.parseInt(token.substring(2), 2);
 		default:
-			return Integer.valueOf(token, 10).intValue();
+			return Integer.parseInt(token, 10);
 		}
 	}
 
@@ -3304,13 +3304,13 @@
 		token = removePrefixZerosAndUnderscores(token, false);
 		switch (getBase(token)) {
 		case 8:
-			return Short.valueOf(token.substring(1), 8).shortValue();
+			return Short.parseShort(token.substring(1), 8);
 		case 16:
-			return Short.valueOf(token.substring(2), 16).shortValue();
+			return Short.parseShort(token.substring(2), 16);
 		case 2:
-			return Short.valueOf(token.substring(2), 2).shortValue();
+			return Short.parseShort(token.substring(2), 2);
 		default:
-			return Short.valueOf(token, 10).shortValue();
+			return Short.parseShort(token, 10);
 		}
 	}
 
@@ -3326,13 +3326,13 @@
 		token = removePrefixZerosAndUnderscores(token, false);
 		switch (getBase(token)) {
 		case 8:
-			return Byte.valueOf(token.substring(1), 8).byteValue();
+			return Byte.parseByte(token.substring(1), 8);
 		case 16:
-			return Byte.valueOf(token.substring(2), 16).byteValue();
+			return Byte.parseByte(token.substring(2), 16);
 		case 2:
-			return Byte.valueOf(token.substring(2), 2).byteValue();
+			return Byte.parseByte(token.substring(2), 2);
 		default:
-			return Byte.valueOf(token, 10).byteValue();
+			return Byte.parseByte(token, 10);
 		}
 	}
 
@@ -3348,13 +3348,13 @@
 		token = removePrefixZerosAndUnderscores(token, true);
 		switch (getBase(token)) {
 		case 8:
-			return Long.valueOf(token.substring(1), 8).longValue();
+			return Long.parseLong(token.substring(1), 8);
 		case 16:
-			return Long.valueOf(token.substring(2), 16).longValue();
+			return Long.parseLong(token.substring(2), 16);
 		case 2:
-			return Long.valueOf(token.substring(2), 2).longValue();
+			return Long.parseLong(token.substring(2), 2);
 		default:
-			return Long.valueOf(token, 10).longValue();
+			return Long.parseLong(token, 10);
 		}
 	}
 
diff --git a/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/BinaryBasedSourceGenerator.java b/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/BinaryBasedSourceGenerator.java
index b6d42fe..adf6053 100644
--- a/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/BinaryBasedSourceGenerator.java
+++ b/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/BinaryBasedSourceGenerator.java
@@ -70,10 +70,10 @@
 		} else {
 			num = sourceLevel;
 		}
-		fSourceMajorLevel = Integer.valueOf(num).intValue();
+		fSourceMajorLevel = Integer.parseInt(num);
 		if (index != -1) {
 			num = sourceLevel.substring(index + 1);
-			fSourceMinorLevel = Integer.valueOf(num).intValue();
+			fSourceMinorLevel = Integer.parseInt(num);
 		} else {
 			fSourceMinorLevel = 0;
 		}
diff --git a/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/SourceBasedSourceGenerator.java b/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/SourceBasedSourceGenerator.java
index 4b89662..a4e101b 100644
--- a/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/SourceBasedSourceGenerator.java
+++ b/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/SourceBasedSourceGenerator.java
@@ -204,10 +204,10 @@
 		} else {
 			num = sourceLevel;
 		}
-		fSourceMajorLevel = Integer.valueOf(num).intValue();
+		fSourceMajorLevel = Integer.parseInt(num);
 		if (index != -1) {
 			num = sourceLevel.substring(index + 1);
-			fSourceMinorLevel = Integer.valueOf(num).intValue();
+			fSourceMinorLevel = Integer.parseInt(num);
 		} else {
 			fSourceMinorLevel = 0;
 		}
diff --git a/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/internal/VirtualMachineManagerImpl.java b/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/internal/VirtualMachineManagerImpl.java
index 0ca6cc3..02dcd0b 100644
--- a/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/internal/VirtualMachineManagerImpl.java
+++ b/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/internal/VirtualMachineManagerImpl.java
@@ -120,8 +120,7 @@
 			PropertyResourceBundle prefs = new PropertyResourceBundle(stream);
 
 			try {
-				fVerbose = Boolean
-						.valueOf(prefs.getString("User.verbose")).booleanValue(); //$NON-NLS-1$
+				fVerbose = Boolean.parseBoolean(prefs.getString("User.verbose")); //$NON-NLS-1$
 			} catch (MissingResourceException e) {
 			}
 
diff --git a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/logicalstructures/JavaLogicalStructure.java b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/logicalstructures/JavaLogicalStructure.java
index 41f8c2f..12655f7 100644
--- a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/logicalstructures/JavaLogicalStructure.java
+++ b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/logicalstructures/JavaLogicalStructure.java
@@ -224,8 +224,7 @@
 					JDIDebugPlugin.getUniqueIdentifier(), JDIDebugPlugin.ERROR,
 					LogicalStructuresMessages.JavaLogicalStructures_0, null));
 		}
-		fSubtypes = Boolean.valueOf(
-				configurationElement.getAttribute("subtypes")).booleanValue(); //$NON-NLS-1$
+		fSubtypes = Boolean.parseBoolean(configurationElement.getAttribute("subtypes")); //$NON-NLS-1$
 		fValue = configurationElement.getAttribute("value"); //$NON-NLS-1$
 		fDescription = configurationElement.getAttribute("description"); //$NON-NLS-1$
 		if (fDescription == null) {
diff --git a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/model/JDIModificationVariable.java b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/model/JDIModificationVariable.java
index fe500fc..87230b1 100644
--- a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/model/JDIModificationVariable.java
+++ b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/model/JDIModificationVariable.java
@@ -70,13 +70,12 @@
 				String flse = Boolean.FALSE.toString();
 				String tre = Boolean.TRUE.toString();
 				if (expression.equals(tre) || expression.equals(flse)) {
-					boolean booleanValue = Boolean.valueOf(expression)
-							.booleanValue();
+					boolean booleanValue = Boolean.parseBoolean(expression);
 					vmValue = vm.mirrorOf(booleanValue);
 				}
 				break;
 			case 'B':
-				byte byteValue = Byte.valueOf(expression).byteValue();
+				byte byteValue = Byte.parseByte(expression);
 				vmValue = vm.mirrorOf(byteValue);
 				break;
 			case 'C':
@@ -120,23 +119,23 @@
 				}
 				break;
 			case 'S':
-				short shortValue = Short.valueOf(expression).shortValue();
+				short shortValue = Short.parseShort(expression);
 				vmValue = vm.mirrorOf(shortValue);
 				break;
 			case 'I':
-				int intValue = Integer.valueOf(expression).intValue();
+				int intValue = Integer.parseInt(expression);
 				vmValue = vm.mirrorOf(intValue);
 				break;
 			case 'J':
-				long longValue = Long.valueOf(expression).longValue();
+				long longValue = Long.parseLong(expression);
 				vmValue = vm.mirrorOf(longValue);
 				break;
 			case 'F':
-				float floatValue = Float.valueOf(expression).floatValue();
+				float floatValue = Float.parseFloat(expression);
 				vmValue = vm.mirrorOf(floatValue);
 				break;
 			case 'D':
-				double doubleValue = Double.valueOf(expression).doubleValue();
+				double doubleValue = Double.parseDouble(expression);
 				vmValue = vm.mirrorOf(doubleValue);
 				break;
 			case 'L':
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/CompositeId.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/CompositeId.java
index e5f30f4..f56d1b1 100644
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/CompositeId.java
+++ b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/CompositeId.java
@@ -29,7 +29,7 @@
 		ArrayList<String> parts= new ArrayList<>();
 		int commaIndex= idString.indexOf(',');
 		while (commaIndex > 0) {
-			int length= Integer.valueOf(idString.substring(0, commaIndex)).intValue();
+			int length= Integer.parseInt(idString.substring(0, commaIndex));
 			String part= idString.substring(commaIndex+1, commaIndex+1+length);
 			parts.add(part);
 			idString= idString.substring(commaIndex+1+length);
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/DefaultProjectClasspathEntry.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/DefaultProjectClasspathEntry.java
index c5d9d43..d2b45ab 100644
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/DefaultProjectClasspathEntry.java
+++ b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/DefaultProjectClasspathEntry.java
@@ -91,7 +91,7 @@
 		setJavaProject(project);
 		name = memento.getAttribute("exportedEntriesOnly"); //$NON-NLS-1$
 		if (name != null) {
-			fExportedEntriesOnly = Boolean.valueOf(name).booleanValue();
+			fExportedEntriesOnly = Boolean.parseBoolean(name);
 		}
 	}
 	/* (non-Javadoc)