### Question:
ConstructorUtil { public static <T> T newInstance(Constructor<T> constructor, Object... params) throws WrapException { try { return constructor.newInstance(params); } catch (IllegalArgumentException | InvocationTargetException | IllegalAccessException | InstantiationException e) { throw new WrapException(e); } }  static T newInstance(Constructor<T> constructor, Object... params); static String createSignature(Constructor<?> constructor); static String createSignature(Class<?> clazz, Class<?>[] paramTypes);  }### Answer:
@Test public void testGetConstructor() throws Exception { Constructor<String> constructor = String.class.getConstructor(char[].class, int.class, int.class); String result = ConstructorUtil.newInstance(constructor, new char[] {'a', 'b', 'c', 'd', 'e'}, 1, 3); assertEquals("bcd", result); }