### Question:
MethodUtil { public static String createSignature(String methodName, Class<?>[] paramTypes) { StringBuilder buf = new StringBuilder(); buf.append(methodName); buf.append("("); for (Class<?> paramType : paramTypes) { if (paramType.isArray()) { buf.append(paramType.getComponentType().getName()); buf.append("[]"); } else { buf.append(paramType.getName()); } buf.append(", "); } if (buf.length() > 2) { buf.setLength(buf.length() - 2); } buf.append(")"); return buf.toString(); }  static T invoke(Method method, Object target, Object... params); static String createSignature(String methodName, Class<?>[] paramTypes);  }### Answer:
@Test public void testCreateSignature() { String signature = MethodUtil.createSignature( "hoge", new Class<?>[] {String.class, int.class, Integer[].class}); assertEquals("hoge(java.lang.String, int, java.lang.Integer[])", signature); }