我是靠谱客的博主 高贵含羞草,最近开发中收集的这篇文章主要介绍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 反射获取值所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部