code: public static String typeString(Class<?> clas) {
          if (Map.class.isAssignableFrom(clas))
              clas = Map.class;
          else if (List.class.isAssignableFrom(clas))
              if (Queue.class.isAssignableFrom(clas))
                  clas = Queue.class;
              else
                  clas = List.class;
          else if (Deque.class.isAssignableFrom(clas))
              clas = Deque.class;
          else if (Set.class.isAssignableFrom(clas))
              clas = Set.class;
          else if (Entry.class.isAssignableFrom(clas))
              clas = Entry.class;
          return clas.isArray() ? typeString(clas.getComponentType())+"[]"
                  : clas.getName().startsWith("java")
                  ? clas.getSimpleName() : clas.getName();
      }
docs: Type from class to string.
  @param clas for type
  @return string type