Minor code optimizations:

* removed boxing
* removed unused variables
* removed useless casts* removed boxing
* removed unused variables
* removed useless casts
* replaced asArrayList method with Arrays.asList

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/lang/trunk@1544770 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Maurizio Cucchiara 2013-11-23 11:11:28 +00:00
parent b26d344a27
commit 4660148be3
1 changed files with 65 additions and 86 deletions

View File

@ -16,31 +16,20 @@
*/ */
package org.apache.commons.lang3.reflect; package org.apache.commons.lang3.reflect;
import static org.junit.Assert.assertArrayEquals; import org.apache.commons.lang3.ArrayUtils;
import static org.junit.Assert.assertEquals; import org.apache.commons.lang3.reflect.testbed.*;
import static org.junit.Assert.assertFalse; import org.junit.Before;
import static org.junit.Assert.assertNotNull; import org.junit.Test;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static org.junit.Assume.assumeNotNull;
import java.lang.reflect.Constructor; import java.lang.reflect.Constructor;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.lang.reflect.Modifier; import java.lang.reflect.Modifier;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
import org.apache.commons.lang3.ArrayUtils; import static org.junit.Assert.*;
import org.apache.commons.lang3.reflect.testbed.Ambig; import static org.junit.Assume.assumeNotNull;
import org.apache.commons.lang3.reflect.testbed.Foo;
import org.apache.commons.lang3.reflect.testbed.PrivatelyShadowedChild;
import org.apache.commons.lang3.reflect.testbed.PublicChild;
import org.apache.commons.lang3.reflect.testbed.PubliclyShadowedChild;
import org.apache.commons.lang3.reflect.testbed.StaticContainer;
import org.apache.commons.lang3.reflect.testbed.StaticContainerChild;
import org.junit.Before;
import org.junit.Test;
/** /**
* Unit tests FieldUtils * Unit tests FieldUtils
@ -49,12 +38,10 @@
*/ */
public class FieldUtilsTest { public class FieldUtilsTest {
static final String S = "s"; static final Integer I0 = 0;
static final String SS = "ss"; static final Integer I1 = 1;
static final Integer I0 = Integer.valueOf(0); static final Double D0 = 0.0;
static final Integer I1 = Integer.valueOf(1); static final Double D1 = 1.0;
static final Double D0 = Double.valueOf(0.0);
static final Double D1 = Double.valueOf(1.0);
private PublicChild publicChild; private PublicChild publicChild;
private PubliclyShadowedChild publiclyShadowedChild; private PubliclyShadowedChild publiclyShadowedChild;
@ -167,20 +154,12 @@ public void testGetAllFields() {
assertEquals(5, FieldUtils.getAllFields(PublicChild.class).length); assertEquals(5, FieldUtils.getAllFields(PublicChild.class).length);
} }
private <T> List<T> asArrayList(T... values) {
final ArrayList<T> arrayList = new ArrayList<T>();
for (T t : values) {
arrayList.add(t);
}
return arrayList;
}
@Test @Test
public void testGetAllFieldsList() { public void testGetAllFieldsList() {
assertEquals(0, FieldUtils.getAllFieldsList(Object.class).size()); assertEquals(0, FieldUtils.getAllFieldsList(Object.class).size());
final List<Field> fieldsNumber = asArrayList(Number.class.getDeclaredFields()); final List<Field> fieldsNumber = Arrays.asList(Number.class.getDeclaredFields());
assertEquals(fieldsNumber, FieldUtils.getAllFieldsList(Number.class)); assertEquals(fieldsNumber, FieldUtils.getAllFieldsList(Number.class));
final List<Field> fieldsInteger = asArrayList(Integer.class.getDeclaredFields()); final List<Field> fieldsInteger = Arrays.asList(Integer.class.getDeclaredFields());
final List<Field> allFieldsInteger = new ArrayList<Field>(fieldsInteger); final List<Field> allFieldsInteger = new ArrayList<Field>(fieldsInteger);
allFieldsInteger.addAll(fieldsNumber); allFieldsInteger.addAll(fieldsNumber);
assertEquals(allFieldsInteger, FieldUtils.getAllFieldsList(Integer.class)); assertEquals(allFieldsInteger, FieldUtils.getAllFieldsList(Integer.class));
@ -462,7 +441,7 @@ public void testReadField() throws Exception {
assertEquals(D0, FieldUtils.readField(parentD, privatelyShadowedChild)); assertEquals(D0, FieldUtils.readField(parentD, privatelyShadowedChild));
try { try {
FieldUtils.readField((Field) null, publicChild); FieldUtils.readField(null, publicChild);
fail("a null field should cause an IllegalArgumentException"); fail("a null field should cause an IllegalArgumentException");
} catch (final IllegalArgumentException e) { } catch (final IllegalArgumentException e) {
// expected // expected
@ -493,7 +472,7 @@ public void testReadFieldForceAccess() throws Exception {
assertEquals(D0, FieldUtils.readField(parentD, privatelyShadowedChild, true)); assertEquals(D0, FieldUtils.readField(parentD, privatelyShadowedChild, true));
try { try {
FieldUtils.readField((Field) null, publicChild, true); FieldUtils.readField(null, publicChild, true);
fail("a null field should cause an IllegalArgumentException"); fail("a null field should cause an IllegalArgumentException");
} catch (final IllegalArgumentException e) { } catch (final IllegalArgumentException e) {
// expected // expected
@ -643,7 +622,7 @@ public void testReadDeclaredNamedField() throws Exception {
} }
try { try {
FieldUtils.readDeclaredField((Object) null, "none"); FieldUtils.readDeclaredField(null, "none");
fail("a null target should cause an IllegalArgumentException"); fail("a null target should cause an IllegalArgumentException");
} catch (final IllegalArgumentException e) { } catch (final IllegalArgumentException e) {
// expected // expected
@ -727,7 +706,7 @@ public void testReadDeclaredNamedFieldForceAccess() throws Exception {
} }
try { try {
FieldUtils.readDeclaredField((Object) null, "none", true); FieldUtils.readDeclaredField(null, "none", true);
fail("a null target should cause an IllegalArgumentException"); fail("a null target should cause an IllegalArgumentException");
} catch (final IllegalArgumentException e) { } catch (final IllegalArgumentException e) {
// expected // expected
@ -1049,13 +1028,13 @@ public void testWriteField() throws Exception {
} }
field = parentClass.getDeclaredField("i"); field = parentClass.getDeclaredField("i");
try { try {
FieldUtils.writeField(field, publicChild, Integer.valueOf(Integer.MAX_VALUE)); FieldUtils.writeField(field, publicChild, Integer.MAX_VALUE);
} catch (final IllegalAccessException e) { } catch (final IllegalAccessException e) {
// pass // pass
} }
field = parentClass.getDeclaredField("d"); field = parentClass.getDeclaredField("d");
try { try {
FieldUtils.writeField(field, publicChild, Double.valueOf(Double.MAX_VALUE)); FieldUtils.writeField(field, publicChild, Double.MAX_VALUE);
} catch (final IllegalAccessException e) { } catch (final IllegalAccessException e) {
// pass // pass
} }
@ -1070,11 +1049,11 @@ public void testWriteFieldForceAccess() throws Exception {
FieldUtils.writeField(field, publicChild, Boolean.TRUE, true); FieldUtils.writeField(field, publicChild, Boolean.TRUE, true);
assertEquals(Boolean.TRUE, field.get(publicChild)); assertEquals(Boolean.TRUE, field.get(publicChild));
field = parentClass.getDeclaredField("i"); field = parentClass.getDeclaredField("i");
FieldUtils.writeField(field, publicChild, Integer.valueOf(Integer.MAX_VALUE), true); FieldUtils.writeField(field, publicChild, Integer.MAX_VALUE, true);
assertEquals(Integer.valueOf(Integer.MAX_VALUE), field.get(publicChild)); assertEquals(Integer.MAX_VALUE, field.get(publicChild));
field = parentClass.getDeclaredField("d"); field = parentClass.getDeclaredField("d");
FieldUtils.writeField(field, publicChild, Double.valueOf(Double.MAX_VALUE), true); FieldUtils.writeField(field, publicChild, Double.MAX_VALUE, true);
assertEquals(Double.valueOf(Double.MAX_VALUE), field.get(publicChild)); assertEquals(Double.MAX_VALUE, field.get(publicChild));
} }
@Test @Test
@ -1088,13 +1067,13 @@ public void testWriteNamedField() throws Exception {
// pass // pass
} }
try { try {
FieldUtils.writeField(publicChild, "i", Integer.valueOf(1)); FieldUtils.writeField(publicChild, "i", 1);
fail("Expected IllegalArgumentException"); fail("Expected IllegalArgumentException");
} catch (final IllegalArgumentException e) { } catch (final IllegalArgumentException e) {
// pass // pass
} }
try { try {
FieldUtils.writeField(publicChild, "d", Double.valueOf(1.0)); FieldUtils.writeField(publicChild, "d", 1.0);
fail("Expected IllegalArgumentException"); fail("Expected IllegalArgumentException");
} catch (final IllegalArgumentException e) { } catch (final IllegalArgumentException e) {
// pass // pass
@ -1104,10 +1083,10 @@ public void testWriteNamedField() throws Exception {
assertEquals("S", FieldUtils.readField(publiclyShadowedChild, "s")); assertEquals("S", FieldUtils.readField(publiclyShadowedChild, "s"));
FieldUtils.writeField(publiclyShadowedChild, "b", Boolean.FALSE); FieldUtils.writeField(publiclyShadowedChild, "b", Boolean.FALSE);
assertEquals(Boolean.FALSE, FieldUtils.readField(publiclyShadowedChild, "b")); assertEquals(Boolean.FALSE, FieldUtils.readField(publiclyShadowedChild, "b"));
FieldUtils.writeField(publiclyShadowedChild, "i", Integer.valueOf(0)); FieldUtils.writeField(publiclyShadowedChild, "i", 0);
assertEquals(Integer.valueOf(0), FieldUtils.readField(publiclyShadowedChild, "i")); assertEquals(0, FieldUtils.readField(publiclyShadowedChild, "i"));
FieldUtils.writeField(publiclyShadowedChild, "d", Double.valueOf(0.0)); FieldUtils.writeField(publiclyShadowedChild, "d", 0.0);
assertEquals(Double.valueOf(0.0), FieldUtils.readField(publiclyShadowedChild, "d")); assertEquals(0.0, FieldUtils.readField(publiclyShadowedChild, "d"));
FieldUtils.writeField(privatelyShadowedChild, "s", "S"); FieldUtils.writeField(privatelyShadowedChild, "s", "S");
assertEquals("S", FieldUtils.readField(privatelyShadowedChild, "s")); assertEquals("S", FieldUtils.readField(privatelyShadowedChild, "s"));
@ -1118,13 +1097,13 @@ public void testWriteNamedField() throws Exception {
// pass // pass
} }
try { try {
FieldUtils.writeField(privatelyShadowedChild, "i", Integer.valueOf(1)); FieldUtils.writeField(privatelyShadowedChild, "i", 1);
fail("Expected IllegalArgumentException"); fail("Expected IllegalArgumentException");
} catch (final IllegalArgumentException e) { } catch (final IllegalArgumentException e) {
// pass // pass
} }
try { try {
FieldUtils.writeField(privatelyShadowedChild, "d", Double.valueOf(1.0)); FieldUtils.writeField(privatelyShadowedChild, "d", 1.0);
fail("Expected IllegalArgumentException"); fail("Expected IllegalArgumentException");
} catch (final IllegalArgumentException e) { } catch (final IllegalArgumentException e) {
// pass // pass
@ -1137,28 +1116,28 @@ public void testWriteNamedFieldForceAccess() throws Exception {
assertEquals("S", FieldUtils.readField(publicChild, "s", true)); assertEquals("S", FieldUtils.readField(publicChild, "s", true));
FieldUtils.writeField(publicChild, "b", Boolean.TRUE, true); FieldUtils.writeField(publicChild, "b", Boolean.TRUE, true);
assertEquals(Boolean.TRUE, FieldUtils.readField(publicChild, "b", true)); assertEquals(Boolean.TRUE, FieldUtils.readField(publicChild, "b", true));
FieldUtils.writeField(publicChild, "i", Integer.valueOf(1), true); FieldUtils.writeField(publicChild, "i", 1, true);
assertEquals(Integer.valueOf(1), FieldUtils.readField(publicChild, "i", true)); assertEquals(1, FieldUtils.readField(publicChild, "i", true));
FieldUtils.writeField(publicChild, "d", Double.valueOf(1.0), true); FieldUtils.writeField(publicChild, "d", 1.0, true);
assertEquals(Double.valueOf(1.0), FieldUtils.readField(publicChild, "d", true)); assertEquals(1.0, FieldUtils.readField(publicChild, "d", true));
FieldUtils.writeField(publiclyShadowedChild, "s", "S", true); FieldUtils.writeField(publiclyShadowedChild, "s", "S", true);
assertEquals("S", FieldUtils.readField(publiclyShadowedChild, "s", true)); assertEquals("S", FieldUtils.readField(publiclyShadowedChild, "s", true));
FieldUtils.writeField(publiclyShadowedChild, "b", Boolean.FALSE, true); FieldUtils.writeField(publiclyShadowedChild, "b", Boolean.FALSE, true);
assertEquals(Boolean.FALSE, FieldUtils.readField(publiclyShadowedChild, "b", true)); assertEquals(Boolean.FALSE, FieldUtils.readField(publiclyShadowedChild, "b", true));
FieldUtils.writeField(publiclyShadowedChild, "i", Integer.valueOf(0), true); FieldUtils.writeField(publiclyShadowedChild, "i", 0, true);
assertEquals(Integer.valueOf(0), FieldUtils.readField(publiclyShadowedChild, "i", true)); assertEquals(0, FieldUtils.readField(publiclyShadowedChild, "i", true));
FieldUtils.writeField(publiclyShadowedChild, "d", Double.valueOf(0.0), true); FieldUtils.writeField(publiclyShadowedChild, "d", 0.0, true);
assertEquals(Double.valueOf(0.0), FieldUtils.readField(publiclyShadowedChild, "d", true)); assertEquals(0.0, FieldUtils.readField(publiclyShadowedChild, "d", true));
FieldUtils.writeField(privatelyShadowedChild, "s", "S", true); FieldUtils.writeField(privatelyShadowedChild, "s", "S", true);
assertEquals("S", FieldUtils.readField(privatelyShadowedChild, "s", true)); assertEquals("S", FieldUtils.readField(privatelyShadowedChild, "s", true));
FieldUtils.writeField(privatelyShadowedChild, "b", Boolean.FALSE, true); FieldUtils.writeField(privatelyShadowedChild, "b", Boolean.FALSE, true);
assertEquals(Boolean.FALSE, FieldUtils.readField(privatelyShadowedChild, "b", true)); assertEquals(Boolean.FALSE, FieldUtils.readField(privatelyShadowedChild, "b", true));
FieldUtils.writeField(privatelyShadowedChild, "i", Integer.valueOf(0), true); FieldUtils.writeField(privatelyShadowedChild, "i", 0, true);
assertEquals(Integer.valueOf(0), FieldUtils.readField(privatelyShadowedChild, "i", true)); assertEquals(0, FieldUtils.readField(privatelyShadowedChild, "i", true));
FieldUtils.writeField(privatelyShadowedChild, "d", Double.valueOf(0.0), true); FieldUtils.writeField(privatelyShadowedChild, "d", 0.0, true);
assertEquals(Double.valueOf(0.0), FieldUtils.readField(privatelyShadowedChild, "d", true)); assertEquals(0.0, FieldUtils.readField(privatelyShadowedChild, "d", true));
} }
@Test @Test
@ -1176,13 +1155,13 @@ public void testWriteDeclaredNamedField() throws Exception {
// pass // pass
} }
try { try {
FieldUtils.writeDeclaredField(publicChild, "i", Integer.valueOf(1)); FieldUtils.writeDeclaredField(publicChild, "i", 1);
fail("Expected IllegalArgumentException"); fail("Expected IllegalArgumentException");
} catch (final IllegalArgumentException e) { } catch (final IllegalArgumentException e) {
// pass // pass
} }
try { try {
FieldUtils.writeDeclaredField(publicChild, "d", Double.valueOf(1.0)); FieldUtils.writeDeclaredField(publicChild, "d", 1.0);
fail("Expected IllegalArgumentException"); fail("Expected IllegalArgumentException");
} catch (final IllegalArgumentException e) { } catch (final IllegalArgumentException e) {
// pass // pass
@ -1192,10 +1171,10 @@ public void testWriteDeclaredNamedField() throws Exception {
assertEquals("S", FieldUtils.readDeclaredField(publiclyShadowedChild, "s")); assertEquals("S", FieldUtils.readDeclaredField(publiclyShadowedChild, "s"));
FieldUtils.writeDeclaredField(publiclyShadowedChild, "b", Boolean.FALSE); FieldUtils.writeDeclaredField(publiclyShadowedChild, "b", Boolean.FALSE);
assertEquals(Boolean.FALSE, FieldUtils.readDeclaredField(publiclyShadowedChild, "b")); assertEquals(Boolean.FALSE, FieldUtils.readDeclaredField(publiclyShadowedChild, "b"));
FieldUtils.writeDeclaredField(publiclyShadowedChild, "i", Integer.valueOf(0)); FieldUtils.writeDeclaredField(publiclyShadowedChild, "i", 0);
assertEquals(Integer.valueOf(0), FieldUtils.readDeclaredField(publiclyShadowedChild, "i")); assertEquals(0, FieldUtils.readDeclaredField(publiclyShadowedChild, "i"));
FieldUtils.writeDeclaredField(publiclyShadowedChild, "d", Double.valueOf(0.0)); FieldUtils.writeDeclaredField(publiclyShadowedChild, "d", 0.0);
assertEquals(Double.valueOf(0.0), FieldUtils.readDeclaredField(publiclyShadowedChild, "d")); assertEquals(0.0, FieldUtils.readDeclaredField(publiclyShadowedChild, "d"));
try { try {
FieldUtils.writeDeclaredField(privatelyShadowedChild, "s", "S"); FieldUtils.writeDeclaredField(privatelyShadowedChild, "s", "S");
@ -1210,13 +1189,13 @@ public void testWriteDeclaredNamedField() throws Exception {
// pass // pass
} }
try { try {
FieldUtils.writeDeclaredField(privatelyShadowedChild, "i", Integer.valueOf(1)); FieldUtils.writeDeclaredField(privatelyShadowedChild, "i", 1);
fail("Expected IllegalArgumentException"); fail("Expected IllegalArgumentException");
} catch (final IllegalArgumentException e) { } catch (final IllegalArgumentException e) {
// pass // pass
} }
try { try {
FieldUtils.writeDeclaredField(privatelyShadowedChild, "d", Double.valueOf(1.0)); FieldUtils.writeDeclaredField(privatelyShadowedChild, "d", 1.0);
fail("Expected IllegalArgumentException"); fail("Expected IllegalArgumentException");
} catch (final IllegalArgumentException e) { } catch (final IllegalArgumentException e) {
// pass // pass
@ -1238,13 +1217,13 @@ public void testWriteDeclaredNamedFieldForceAccess() throws Exception {
// pass // pass
} }
try { try {
FieldUtils.writeDeclaredField(publicChild, "i", Integer.valueOf(1), true); FieldUtils.writeDeclaredField(publicChild, "i", 1, true);
fail("Expected IllegalArgumentException"); fail("Expected IllegalArgumentException");
} catch (final IllegalArgumentException e) { } catch (final IllegalArgumentException e) {
// pass // pass
} }
try { try {
FieldUtils.writeDeclaredField(publicChild, "d", Double.valueOf(1.0), true); FieldUtils.writeDeclaredField(publicChild, "d", 1.0, true);
fail("Expected IllegalArgumentException"); fail("Expected IllegalArgumentException");
} catch (final IllegalArgumentException e) { } catch (final IllegalArgumentException e) {
// pass // pass
@ -1254,19 +1233,19 @@ public void testWriteDeclaredNamedFieldForceAccess() throws Exception {
assertEquals("S", FieldUtils.readDeclaredField(publiclyShadowedChild, "s", true)); assertEquals("S", FieldUtils.readDeclaredField(publiclyShadowedChild, "s", true));
FieldUtils.writeDeclaredField(publiclyShadowedChild, "b", Boolean.FALSE, true); FieldUtils.writeDeclaredField(publiclyShadowedChild, "b", Boolean.FALSE, true);
assertEquals(Boolean.FALSE, FieldUtils.readDeclaredField(publiclyShadowedChild, "b", true)); assertEquals(Boolean.FALSE, FieldUtils.readDeclaredField(publiclyShadowedChild, "b", true));
FieldUtils.writeDeclaredField(publiclyShadowedChild, "i", Integer.valueOf(0), true); FieldUtils.writeDeclaredField(publiclyShadowedChild, "i", 0, true);
assertEquals(Integer.valueOf(0), FieldUtils.readDeclaredField(publiclyShadowedChild, "i", true)); assertEquals(0, FieldUtils.readDeclaredField(publiclyShadowedChild, "i", true));
FieldUtils.writeDeclaredField(publiclyShadowedChild, "d", Double.valueOf(0.0), true); FieldUtils.writeDeclaredField(publiclyShadowedChild, "d", 0.0, true);
assertEquals(Double.valueOf(0.0), FieldUtils.readDeclaredField(publiclyShadowedChild, "d", true)); assertEquals(0.0, FieldUtils.readDeclaredField(publiclyShadowedChild, "d", true));
FieldUtils.writeDeclaredField(privatelyShadowedChild, "s", "S", true); FieldUtils.writeDeclaredField(privatelyShadowedChild, "s", "S", true);
assertEquals("S", FieldUtils.readDeclaredField(privatelyShadowedChild, "s", true)); assertEquals("S", FieldUtils.readDeclaredField(privatelyShadowedChild, "s", true));
FieldUtils.writeDeclaredField(privatelyShadowedChild, "b", Boolean.FALSE, true); FieldUtils.writeDeclaredField(privatelyShadowedChild, "b", Boolean.FALSE, true);
assertEquals(Boolean.FALSE, FieldUtils.readDeclaredField(privatelyShadowedChild, "b", true)); assertEquals(Boolean.FALSE, FieldUtils.readDeclaredField(privatelyShadowedChild, "b", true));
FieldUtils.writeDeclaredField(privatelyShadowedChild, "i", Integer.valueOf(0), true); FieldUtils.writeDeclaredField(privatelyShadowedChild, "i", 0, true);
assertEquals(Integer.valueOf(0), FieldUtils.readDeclaredField(privatelyShadowedChild, "i", true)); assertEquals(0, FieldUtils.readDeclaredField(privatelyShadowedChild, "i", true));
FieldUtils.writeDeclaredField(privatelyShadowedChild, "d", Double.valueOf(0.0), true); FieldUtils.writeDeclaredField(privatelyShadowedChild, "d", 0.0, true);
assertEquals(Double.valueOf(0.0), FieldUtils.readDeclaredField(privatelyShadowedChild, "d", true)); assertEquals(0.0, FieldUtils.readDeclaredField(privatelyShadowedChild, "d", true));
} }
@Test(expected = IllegalArgumentException.class) @Test(expected = IllegalArgumentException.class)