ActorBean:对象反射+动态代理工具,不仅有get/set方法,还能把对象抽象到接口,方便集成。
data class Student(val name: String, var studentStatus: String? = null)
- 直接获取属性值
val student = Student("张三")
val actorStudent = ActorBean(student)
val name = actorStudent("name")
- 通过接口获取属性值
Interface StudentProxy {
@GET("name") fun getName()
}
val actorStudent = ActorBean(student).agent(StudentProxy::class.java)
val name = actorStudent.getName()
- 直接赋值
val actorStudent = ActorBean(student)
actorStudent.set("studentStatus", "学籍")
- 通过接口给属性赋值
Interface StudentProxy {
@SET("studentStatus") fun setStudentStatus(status: String)
}
val actorStudent = ActorBean(student).agent(StudentProxy::class.java)
actorStudent.setStudentStatus("学籍")