「java获取对象属性」获取对象的属性
本篇文章给大家谈谈java获取对象属性,以及获取对象的属性对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java 迭代器中怎样取对象的属性
- 2、java中怎么通过关系得到对象,通过对象得到属性值?
- 3、如何利用java的反射机制动态的取得对象的属性
- 4、java 递归替换复杂对象属性值
- 5、Java获取泛型对象中的某个属性值
- 6、java 传过来一个对象,如何得到这个对象的所有属性值?
java 迭代器中怎样取对象的属性
迭代器模式。。。。Iterator
对已集合类中的任何一个实现类,都可以返回这样一个Iterator对象。就和循环一样,好处是可以适用于任何一个类,而且实际上java对他进行了优化,比直接用index访问快一点(这一点没法考证,别人都这样说)。。
不过呢,有一点很好,就是用起来确实很好用~~加上泛型就更好用啦~~
比如说这样一个例子
ArrayList String arr = new ArrayList String ();
Iterator it = arr.iterator;//好像是iterator()吧。。不记得了,你看看doc就知道了。
迭代的时候可以这样
while( it .hasNext() ){
//做一些处理啦,比如
System.out.print( it。next );
}
配合上泛型,一个好处是it.next()可以不用类型转换啦~
以前用的时候是Object,还要自己转,,,,我感觉、、、Iterator和泛型简直就是绝配哈~~单独用貌似都没什么直接好处
java中怎么通过关系得到对象,通过对象得到属性值?
通过关系得到对象不知道是什么意思,不过通过对象得到属性很好办,如果有个类class是student,student有个属性是name,如果想得到name,那就直接student.name;如果用的话就是Student stu = new Student();stu.getName()就可以得这个sti实例的name属性【注:student写了get和set方法】
如何利用java的反射机制动态的取得对象的属性
Java.lang.Class
getDeclaredFields()
返回 Field 对象的一个数组,这些对象反映此 Class
对象所表示的类或接口所声明的所有字段。
Java.lang.reflect.Field
getName()
返回此 Field 对象表示的字段的名称。
getGenericType()
返回一个 Type 对象,它表示此 Field 对象所表示字段的声明类型。
以上是jdk里面的一些用法,就是用你想要获取对象的属性得到它的class 然后调用 getDeclaredFields()就可以得到字段数组了。
然后再用下面的方法就可以得到属性名,类型这一些。
很简单,要想实现现复杂的功能就再找一下api 找出相应的方法。
java 递归替换复杂对象属性值
本示例中又三个对象嵌套:
UserBO:复杂对象,其中一个属性是ListAddressBO或者MapAddressBO
AddressBO:其中一个属性是SubAddressBO
SubAddressBO:包含目标属性addrId,且是string类型,查找addrId的值
任务:UserBO是一个复杂对象,该对象中肯定存在目标属性addrId(String类型,递归方法只能找string类型的属性,找其他类型自行修改代码),只是不知道addrId在哪个子属性中,如果UserBO存在多个addrId属性,那么只遍历出遇到的第一个addrId的值即可。
注意:(本例子在遍历复杂对象时,如果找到第一个目标属性,则退出,不在继续遍历,后面bolg有遍历复杂对象所有属性的文章)
1、本示例提供了两种方法来获取复杂对象中指定属性的值,一种是利用递归,另一种是直接把复杂对象转换成json串,再截取。
2、本示例对于复杂对象中不包含目标属性时,会返回空字符串。
3、目标属性可以存在于自定义类、list、map、数组中
4、复杂对象可以是复杂嵌套的BO/ListBO/MapObject,BO,目标属性存在于BO中
5、对于复杂对象是这种嵌套格式(ListListBO/ListMapObject,BO/MapObject,ListBO)的没有做测试
————————————————
版权声明:本文为CSDN博主「一路奔跑1314」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:
Java获取泛型对象中的某个属性值
首先做一个接口,接口中声明需要的取值方法
然后做你要的实际的类,每个类实现不同的取值方法
然后list通过接口进行定义,将每个实际类的对象insert到list中间
然后利用多态实现动态的方法绑定,实现你的需求
java 传过来一个对象,如何得到这个对象的所有属性值?
1、过去某个类的某个属性:
2,可以通过对象调用其属性:
3,创建对象 :类名 对象名 = new 类名();
4,调用属性:对象名.属性
5,获取某个对象的所有属性
6,数组类型[] 数组名 = 对象名.getClass().getDeclaredFields();
7,使用反射
public static void main(String[] args) {
Model model = new Model();
Field fd = new Field();
fd.getField(model);
}
private void getField(Object model) {
java.lang.reflect.Field[] fields = model.getClass().getDeclaredFields();
for(java.lang.reflect.Field f:fields){
System.out.println(f.getName());
}
}
java获取对象属性的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于获取对象的属性、java获取对象属性的信息别忘了在本站进行查找喔。
发布于:2022-11-30,除非注明,否则均为
原创文章,转载请注明出处。