美文网首页
java 根据Class<> 把string转成原来的类型

java 根据Class<> 把string转成原来的类型

作者: else05 | 来源:发表于2019-04-15 14:15 被阅读0次

    把csv转成对象,获取的字段全部为string类型的,

    private Object convertClass(Field field , Object val) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException {
            Class<?> typeCla = field.getType();
            String v = (String) val;
            
            if (!typeCla.isPrimitive()) { // 判断基本类型
                if(typeCla.equals(String.class)){ // 如果是string则直接返回
                    return v ;
                }
                 //  如果不为null 则通过反射实例一个对象返回
                return "".equals(v)?null:typeCla.getConstructor(String.class).newInstance(v);
            }
    
            // 下面处理基本类型,返回包装类
            String name = typeCla.getName();
            switch (name){
                case "String": return v;
                case "int": return Integer.parseInt(v);
                case "byte": return Byte.parseByte(v);
                case "boolean": return Boolean.parseBoolean(v);
                case "double": return Double.parseDouble(v);
                case "float": return Float.parseFloat(v);
                case "long": return Long.parseLong(v);
                case "short": return Short.parseShort(v);
                default: return v;
            }
        }
    

    相关文章

      网友评论

          本文标题:java 根据Class<> 把string转成原来的类型

          本文链接:https://www.haomeiwen.com/subject/guqtvqtx.html