code: public static Vec toStringVec(Vec src) {
      switch (src.get_type()) {
        case Vec.T_STR:
          return src.makeCopy();
        case Vec.T_CAT:
          return categoricalToStringVec(src);
        case Vec.T_UUID:
          return UUIDToStringVec(src);
        case Vec.T_TIME:
        case Vec.T_NUM:
          return numericToStringVec(src);
        default:
          throw new H2OIllegalArgumentException("Unrecognized column type " + src.get_type_str()
              + " given to toStringVec().");
      }
    }
docs: Create a new {@link Vec} of string values from an existing {@link Vec}.
  
  This method accepts all {@link Vec} types as input. The original Vec is not mutated.
  
  If src is a string {@link Vec}, a copy of the {@link Vec} is made.
  
  If src is a categorical {@link Vec}, levels are dropped, and the {@link Vec} only records the string.
  
  For all numeric {@link Vec}s, the number is converted to a string.
  
  For all UUID {@link Vec}s, the hex representation is stored as a string.
  
  @param src A {@link Vec} whose values will be used as the basis for a new string {@link Vec}
  @return the resulting string {@link Vec}