admin管理员组文章数量:1794759
字符数组数据映射转换到实体对象model注解方式 demo
1.model对象
代码语言:javascript代码运行次数:0运行复制public class UserModel {
@ColumnAnnotation(index=0)
private String username;
@ColumnAnnotation(index=1)
private String sex;
@ColumnAnnotation(index=2)
private String age;
@ColumnAnnotation(index=3)
private String address;
@Override
public String toString() {
return "UserModel [username=" + username + ", sex=" + sex + ", age="
+ age + ", address=" + address + "]";
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
2.注解
代码语言:javascript代码运行次数:0运行复制@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface ColumnAnnotation {
/**
* 下标
*/
int index();
}
3.工具类
代码语言:javascript代码运行次数:0运行复制public class IBeanUtils<T> {
public T fieldSet(T t, String[] dataArray) throws IllegalAccessException {
if (null == dataArray || dataArray.length == 0) {
return t;
}
Field[] thisFields = t.getClass().getDeclaredFields();
for (Field f : thisFields) {
if (f == null) {
continue;
}
if (f.isAnnotationPresent(ColumnAnnotation.class)) {
ColumnAnnotation columnAnnotation = f.getAnnotation(ColumnAnnotation.class);
if (columnAnnotation.index() < dataArray.length) {
//赋值
setVal(t, f, dataArray[columnAnnotation.index()]);
}
}
}
return t;
}
private void setVal(T t, Field f, String data) throws IllegalAccessException {
f.setAccessible(true);
f.set(t, data);
}
public static void main(String[] args) throws IllegalAccessException {
String[] dataArray = {"liudehua", "男", "55", "香港","other"};
UserModel model = new IBeanUtils<UserModel>().fieldSet(new UserModel(), dataArray);
System.out.println(model.toString());
}
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2020-07-03,如有侵权请联系 cloudcommunity@tencent 删除数据数组注解model对象本文标签: 字符数组数据映射转换到实体对象model注解方式 demo
版权声明:本文标题:字符数组数据映射转换到实体对象model注解方式 demo 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1754991793a1709163.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论