diff --git a/common/source/java/ch/systemsx/cisd/common/utilities/ClassUtils.java b/common/source/java/ch/systemsx/cisd/common/utilities/ClassUtils.java index a366c22fc745fc08861d3294e8876518e2591dbd..f539f121acfcc7cd9ee67d27374f2854d995e945 100644 --- a/common/source/java/ch/systemsx/cisd/common/utilities/ClassUtils.java +++ b/common/source/java/ch/systemsx/cisd/common/utilities/ClassUtils.java @@ -165,7 +165,8 @@ public final class ClassUtils + "' can not be instanciated as it is an interface."; assert superClazz.isAssignableFrom(clazz) : "Class '" + clazz.getName() + "' does not implements/extends '" + superClazz.getName() + "'."; - if (initargs == null) + // (Object[]) null ||Ê(Object) null + if (initargs == null || (initargs.length == 1 && initargs[0] == null)) { return createInstance(clazz); } diff --git a/common/sourceTest/java/ch/systemsx/cisd/common/utilities/ClassUtilsTest.java b/common/sourceTest/java/ch/systemsx/cisd/common/utilities/ClassUtilsTest.java index 751600c1d4e91a35cbbcc659de6952c9fe343376..9fc609a1e25b7e18972b75872055d5631682113d 100644 --- a/common/sourceTest/java/ch/systemsx/cisd/common/utilities/ClassUtilsTest.java +++ b/common/sourceTest/java/ch/systemsx/cisd/common/utilities/ClassUtilsTest.java @@ -82,7 +82,7 @@ public final class ClassUtilsTest @Test public void testCreateWithDefaultConstructor() { - CharSequence cs = ClassUtils.create(CharSequence.class, StringBuffer.class.getName(), (Object) null); + CharSequence cs = ClassUtils.create(CharSequence.class, StringBuffer.class.getName(), (Object[]) null); assertTrue(cs instanceof StringBuffer); assertEquals(0, cs.length()); } @@ -132,7 +132,7 @@ public final class ClassUtilsTest { try { - ClassUtils.create(Float.class, Integer.class.getName(), (Object) null); + ClassUtils.create(Float.class, Integer.class.getName(), (Object[]) null); fail("AssertionError expected."); } catch (AssertionError e) { @@ -145,7 +145,7 @@ public final class ClassUtilsTest { try { - ClassUtils.create(Float.class, CharSequence.class.getName(), (Object) null); + ClassUtils.create(Float.class, CharSequence.class.getName(), (Object[]) null); fail("AssertionError expected."); } catch (AssertionError e) {