示例#1
0
文件: Mirror.java 项目: jekey/nutz
 /**
  * @param klass 类型
  * @return 获得一个类型的描述符
  */
 public static String getTypeDescriptor(Class<?> klass) {
   if (klass.isPrimitive()) {
     if (klass == void.class) return "V";
     else if (klass == int.class) return "I";
     else if (klass == long.class) return "J";
     else if (klass == byte.class) return "B";
     else if (klass == short.class) return "S";
     else if (klass == float.class) return "F";
     else if (klass == double.class) return "D";
     else if (klass == char.class) return "C";
     else
       /* if(klass == boolean.class) */
       return "Z";
   }
   StringBuilder sb = new StringBuilder();
   if (klass.isArray()) {
     return sb.append('[').append(getTypeDescriptor(klass.getComponentType())).toString();
   }
   return sb.append('L').append(Mirror.getPath(klass)).append(';').toString();
 }