我是靠谱客的博主 高贵含羞草,这篇文章主要介绍Java 反射获取值,现在分享给大家,希望可以做个参考。

  1. getClass()
Class clazz = object.getClass();

获取此时object的类。

  1. getDeclaredFields() ,getFields()
Field[] fields = clazz.getDeclaredFields()

getDeclaredFields() 获得某个类的所有声明的字段,即包括public、private和proteced,但是不包括父类的申明字段。

getFields() 获得某个类的所有的公共(public)的字段,包括父类中的字段。

同样类似的还有getConstructors()和getDeclaredConstructors()、getMethods()和getDeclaredMethods(),这两者分别表示获取某个类的方法、构造函数。

  1. getConstructors()和getDeclaredConstructors() 这两者分别表示获取某个类的方法。

  2. getMethods()和getDeclaredMethods(),这两者分别表示获取某个类的构造函数。

获取字段的名称
5. String fieldName = field.getName();

获取字段的修饰符
6. int fieldValue = field.getModifiers();//如:private、static、final等

与某个具体的修饰符进行比较
7. Modifier.isStatic(fieldValue)//看此修饰符是否为静态(static)

获取字段的声明类型
8. field.getType();//返回的是一个class

与某个类型进行比较
9. field.getType() == Timestamp.class

  1. setAccessible(true)
    提高java反射速度的方法setAccessible(true) 。这个方法只是启用是否检查,并不影响正常访问

  2. getType() 和 getGenericType()的区别
    getType(): 获取属性声明时类型对象(返回class对象)
    getGenericType() : 返回属性声的Type类型
    1.首先是返回的类型不一样,一个是Class对象一个是Type接口。
    2.如果属性是一个泛型,从getType()只能得到这个属性的接口类型。但从getGenericType()还能得到这个泛型的参数类型。
    3.getGenericType()如果当前属性有签名属性类型就返回,否则就返回 Field.getType()。

  3. Class类 getName()、getCanonicalName()、getSimpleName()、getTypeName() 方法的异同方法详解

最后

以上就是高贵含羞草最近收集整理的关于Java 反射获取值的全部内容,更多相关Java内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(130)

评论列表共有 0 条评论

立即
投稿
返回
顶部