1.model对象

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.注解

@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface ColumnAnnotation {
/**
* 下标
*/
int index(); }

3.工具类

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());
} }

字符数组数据映射转换到实体对象model注解方式 demo的更多相关文章

  1. Delphi字符串、PChar与字符数组之间的转换

    来自:http://my.oschina.net/kavensu/blog/193719 ------------------------------------------------------- ...

  2. String与包装类_字节数组_字符数组间的转换

    1.字符串与基本数据类型,包装类之间的转换 2.字符串与字节数组间的转换 3.字符串与字符数组间的转换 4.String与StringBuffer ①String---->StringBuffe ...

  3. 使用Myeclipse为数据表创建hibernate实体对象

    hibernate是orm框架的一种,orm即Object Relational Mapping,对象映射关系,其主要作用是将数据库(mysql,mssql,oracle)的对象转换为具体编程语言(如 ...

  4. Delphi字符串与字符数组之间的转换(初始化的重要性)

    紧接着上篇博客讲解的内容: 将Char型数组转换为string类型还有下面的这种方法 但是我在测试的时候遇到了一些问题,并在下面进行了解释和总结 先说出我的总结 其实我们在学习编程的时候(比如我之前学 ...

  5. QString和char字符数组之间的转换(QTextCodec.toUnicode方法,特别注意\0的问题)

    How can I convert a QString to char* and vice versa ?(trolltech) Answer:In order to convert a QStrin ...

  6. 使用Sql语句快速将数据表转换成实体类

    开发过程中经常需要根据数据表编写对应的实体类,下面是使用sql语句快速将数据表转换成对应实体类的代码,使用时只需要将第一行'TableName'引号里面的字母换成具体的表名称就行了: declare ...

  7. Delphi的字符串、PChar和字符数组之间的转换

    参考:http://my.oschina.net/kavensu/blog/193719 以下的各种方法都是我在Delphi 6的环境下测试成功的,可能根据你的开发环境.不同的上下文语境……有一些可能 ...

  8. C#复杂XML反序列化为实体对象两种方式

    前言 今天主要讲的是如何把通过接口获取到的Xml数据转换成(反序列化)我们想要的实体对象,当然Xml反序列化和Json反序列化的方式基本上都是大同小异.都是我们事先定义好对应的对应的Xml实体模型,不 ...

  9. xml格式数据和数组数据互相转换

    数组转换成xml数据 <?php $arr=array( 'username'=>'huahua', 'password'=>'123456', 'number'=>'1588 ...

  10. 通过获取客户端Json数据字符串,反序列化为实体对象的一段代码

    #region 保存候选人数据 /// <summary> /// 保存候选人数据 /// </summary> /// <param name="entity ...

随机推荐

  1. 深信服智能边缘计算平台与 OpenYurt 落地方案探索与实践

    ​简介:本文将介绍边缘计算落地的机遇与挑战,以及边缘容器开源项目 OpenYurt 在企业生产环境下的实践方案. 作者:赵震,深信服云计算开发工程师,OpenYurt 社区 Member 编者案:在 ...

  2. [FAQ] 前端 点击事件或链接 如何打开两个外部窗口

    点击链接支持 blank,但无法打开多个,考虑使用绑定 click 事件的方式. window.open 的采用需要有主动点击的情况,否则浏览器可能拦截. 如果是外部窗口,在点击时,优先使用 wind ...

  3. [ML] Tensorflow2 保存完整模型以及使用 HDF5

    将模型保存为完整的 HDF5 文件,后面可以直接加载使用: # cnblogs.com/farwish import tenforflow as tf model = tf.keras.models. ...

  4. GeoHash实现附近的人功能(如微信附近的人、共享单车附近的车辆、美团附近的商家)

    如何查找当前点(118.818747°E,32.074497°N)附近500米的人? 这一类功能很常见(如微信附近的人.共享单车附近的车辆.美团附近的商家),那在java中是如何实 现的呢? 1 实现 ...

  5. 利用引用传递一次遍历构造菜单树(附java&go demo)

    目录 原理讲解 java demo Go demo 优点 原理讲解 利用引用传递,当儿子的儿子变动的时候,自己的儿子的儿子也变动(取地址) java demo package com.huiyuan. ...

  6. idea在商店无法搜索到插件

    背景:我使用的版本是IDEA ultimate 2019.2 版本印象中,最初安装的时候,商店还是可以用的,突然有一天,就无法使用了.下边直入正题: 解决办法:1.首先浏览器登陆下:https://p ...

  7. iptables命令详解

    安装iptables yum install iptables-services 编写允许访问的策略 vim /etc/sysconfig/iptables # sample configuratio ...

  8. 如何在docker环境下的纯净ubuntu系统中安装最新版nginx

    原文件地址: https://www.cnblogs.com/taoshihan/p/11588269.html 视频地址: https://www.bilibili.com/video/av6898 ...

  9. C++ 资源大全:标准库、Web框架、人工智能等 | 最全整理

    C++ 资源列表,内容包括: 标准库.Web应用框架.人工智能.数据库.图片处理.机器学习.日志.代码分析等 目录 进程间通信 Json 日志 机器学习 数学 内存分配 多媒体 网络 PDF 物理学 ...

  10. SSMS表设计器显示说明(注释)字段

    原文地址:https://www.giantliu.cn/2020/09/14/200914SSMSTableDesignAddDescription/ SQL Server Management S ...