概述
- getClass()
Class clazz = object.getClass();
获取此时object的类。
- getDeclaredFields() ,getFields()
Field[] fields = clazz.getDeclaredFields()
getDeclaredFields() 获得某个类的所有声明的字段,即包括public、private和proteced,但是不包括父类的申明字段。
getFields() 获得某个类的所有的公共(public)的字段,包括父类中的字段。
同样类似的还有getConstructors()和getDeclaredConstructors()、getMethods()和getDeclaredMethods(),这两者分别表示获取某个类的方法、构造函数。
-
getConstructors()和getDeclaredConstructors() 这两者分别表示获取某个类的方法。
-
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
-
setAccessible(true)
提高java反射速度的方法setAccessible(true) 。这个方法只是启用是否检查,并不影响正常访问 -
getType() 和 getGenericType()的区别 :
getType(): 获取属性声明时类型对象(返回class对象)
getGenericType() : 返回属性声的Type类型
1.首先是返回的类型不一样,一个是Class对象一个是Type接口。
2.如果属性是一个泛型,从getType()只能得到这个属性的接口类型。但从getGenericType()还能得到这个泛型的参数类型。
3.getGenericType()如果当前属性有签名属性类型就返回,否则就返回 Field.getType()。 -
Class类 getName()、getCanonicalName()、getSimpleName()、getTypeName() 方法的异同方法详解
最后
以上就是高贵含羞草为你收集整理的Java 反射获取值的全部内容,希望文章能够帮你解决Java 反射获取值所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复