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

把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;
        }
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 美术专业毕业至今已有七年,现在是个上班的宝妈,最近突然想画画,拿起画笔又不知从何入手,有的只是担心、害怕,差不多十...
    成橙澄阅读 201评论 2 4
  • 汀泗镇上汀泗桥 革命功勋令人骄 青山绿水绕古城 优良传统是瑰宝 曾经,空中桥梁 灿若彩虹 紫气,东来 预言东方不败...
    碧海青天2017阅读 145评论 0 1
  • 百节年为首,四季春为首,春节是我国最为隆重的传统节日,为了迎接这个节日,人们在腊月二十三就开始忙年:祭灶、扫尘、购...
    剪纸折纸趣手工阅读 6,148评论 8 18
  • 语文老师教我们了小青蛙,语文老师还教我们了七个生字,嗯,老师还让我们从书上写笔记。数学老师还教我们认识钟表,数学老...
    张依晨阅读 350评论 0 0
  • 我家的杜鹃花开了,绿油油的叶子中绽放大朵大朵的杜鹃花。好象阳台上落满了不少红艳艳的蝴蝶。 它经历了多少磨砺,才换来...
    荷香小屋阅读 509评论 2 21