级联属性赋值|学习笔记

简介: 快速学习 级联属性赋值

开发者学堂课程【Java 高级编程级联属性赋值】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/20/detail/390


级联属性赋值


现在已经成功的实现级联的对象实例化处理,那么随后就需要去考虑级联的属性的设置了,在之前考虑级联对象实例化处理的时候会发现,循环的时候都是少了一位的。

 //最后一位肯定是指定类中的属性名称,所以不在本次实例化处理的范畴之内

for (int y = 0 ; y < temp.length - 1 ; y ++) { //实例化

//调用相应的getter方法,如果getter方法返回了null表示该对象未实例化

Method getMethod = currentObject.getClass().getDeclaredWethod("get" + StringUtils.initcap

object tempobject = getMethod.invoke( current0bject) ;

if (tempobject == nul1){//该对象现在并没有实例化

Field field = currentObject.getclass().getDeclaredField(temp[y]) ; //获取属性类型

Method method = currentobject.getclass().getDeclared

Method("set" + Stringutils.initcap(tempIobject newObject =

field.getType().getDeclaredConstructor( ).newInstance()

method.invoke( currentobject,newObject) ;

currentobject = newObject ;

}else {

currentobject = tempobject ;

}

当此时代码循环处理完成之后,currentObject 表示的就是可以。

进行 setter 方法调用的对象了,并且理论上该对象一定不可能为 mull, 随后就可以按照之前的方式利用对象进行 setter 调用。

范例:实现对象的级联属性设置

//进行属性内容的设置

Field field = currentObject.getclass().getDeclaredField(temp[temp.length - 1]) ;//获取成员

Method setMethod = currentObject.getclass().getDeclaredMethod("set" + StringUtils.initcap(temp

object convertValue = BeanUtils.

convertAttributeVaLue(field.getType( ) .getName(), attval[1]) ;

setMethod.invoke( currentobject, convertValue) ;//调用

setter方法设置内容


在以后的开发之中简单 Java 类的赋值处理将不再重复调用 setter 操作完成,而这种处理形式是在正规开发中普遍采用的方式。

图片45.png

相关文章
|
9天前
|
C++
VS项目属性变量
VS项目属性变量
|
2天前
|
Java 编译器
变量的分类和作用1
变量的分类和作用
9 0
|
Java 数据库连接 mybatis
【MyBatis】学习笔记12:通过级联属性赋值解决多对一的映射关系
【MyBatis】学习笔记12:通过级联属性赋值解决多对一的映射关系
116 0
【MyBatis】学习笔记12:通过级联属性赋值解决多对一的映射关系
|
移动开发 程序员
H5 中 bordercolorlight 属性的用法及作用
H5 中 bordercolorlight 属性的用法及作用
181 0
H5 中 bordercolorlight 属性的用法及作用
接口的讲解-强制约束-可选属性-任意多个属性-只读属性
接口的讲解-强制约束-可选属性-任意多个属性-只读属性
|
JavaScript 前端开发
42、属性的操作
元素对象有一个attributes属性,返回一个类似数组的动态对象,成员是该元素标签的所有属性节点对象,属性的实时变化都会反映在这个节点对象上。其他类型的节点对象,虽然也有attributes属性,但返回的都是null,因此可以把这个属性视为元素对象独有的。
143 0
|
存储 Kotlin
【Kotlin】属性 与 幕后字段 ( 属性声明 | 属性初始化器 | 属性访问器 | field 属性幕后字段 | lateinit 延迟初始化属性 )
【Kotlin】属性 与 幕后字段 ( 属性声明 | 属性初始化器 | 属性访问器 | field 属性幕后字段 | lateinit 延迟初始化属性 )
191 0
【Kotlin】属性 与 幕后字段 ( 属性声明 | 属性初始化器 | 属性访问器 | field 属性幕后字段 | lateinit 延迟初始化属性 )
|
开发者 Python
属性和方法|学习笔记
快速学习 属性和方法
|
Java 开发者
单级属性赋值|学习笔记
快速学习 单级属性赋值
单级属性赋值|学习笔记
|
Java 开发者
级联对象实例化|学习笔记
快速学习级联对象实例化
110 0
级联对象实例化|学习笔记