美文网首页
Java 小记

Java 小记

作者: jarvan4dev | 来源:发表于2017-12-13 22:11 被阅读41次

判断是否是简单类型
使用Spring中的BeanUtils,可以自行查看源码。

Boolean isSimpleType = BeanUtils.isSimpleValueType(value.getClass());

实际应用

private void resolveKeyNames(Object obj, List<String> headerNames,
                                 List<String> keys) throws IllegalAccessException {
        if (obj == null) return;
        Field[] fields = obj.getClass().getDeclaredFields();
        for (Field field : fields) {
            field.setAccessible(true);
            String fieldName = field.getName();
            Object value = field.get(obj);
            if (value != null) {
                // 判断value是否是简单类型
                Boolean isSimpleType = BeanUtils.isSimpleValueType(value.getClass());
                if (isSimpleType) {
                    String headerName = value.toString();
                    headerNames.add(headerName);
                    String key = CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, fieldName);
                    keys.add(key);
                }
            }
        }
    }

判断某个对象是否是某个类或其子类的实例
Class类中public native boolean isAssignableFrom(Class<?> cls);

com.example.ParentClass.class.isAssignableFrom(ChildClass));

实际应用:java.sql.Date,java.sql.Timestamp都是java.util.Date的子类,
如果不是isAssignableFrom方法,可能需要如下写法:

if(value.getClass() == java.util.Date.class || value.getClass() == java.sql.Date.class || value.getClass() == java.sql.Timestamp.class) {
        ....
}

相关文章

  • MVP+Rxjava+Retrofit

    前言 简单的示例DEMO,小记一下 RetrofitUtil.java BookAPI.java BookPres...

  • Java 序列化

    参考链接:Java对象的序列化和反序列化Java transient关键字使用小记 1. Java序列化概念 把对...

  • 学生信息管理系统Plus

    StudentManagerPlus.java 小记:昨晚为了消除Eclipse中的警告,添加了sc.close(...

  • 学习笔记之transient关键字

    转载自:敏敏Alexia,Java transient关键字使用小记。 哎,虽然自己最熟的是Java,但很多Jav...

  • 学习笔记之transient关键字

    转载自:敏敏Alexia,Java transient关键字使用小记。 哎,虽然自己最熟的是Java,但很多Jav...

  • Java 小记

    判断是否是简单类型使用Spring中的BeanUtils,可以自行查看源码。 实际应用 判断某个对象是否是某个类或...

  • java小记

  • Java小记

    问题描述:springboot 项目在本地运行时,资源文件可通过spring 的ResourceUtil.getF...

  • java抽象类和接口小记

    Java抽象类和接口小记 Java抽象类和接口实现了java的多态.多态是面向对象程序语言的核心,在项目开发过程中...

  • android stuido 小记:自动添加创建模块信息签名,时

    小记 使用android studio的时候,新建一个Class、Interface的java文件,有时候需要在类...

网友评论

      本文标题:Java 小记

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