java.pojo工具类
2016-04-07 17:16
435 查看
package cn.com.movie.util;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
/**
* @description:
* @author yang
* @date 2016年4月7日 下午1:52:46
* @package cn.com.movie.util
*/
public class Util {
}
//测试类
package cn.com.movie.model;
import java.io.Serializable;
import java.lang.reflect.Field;
/**
* @description:
* @author yang
* @date 2016年3月14日 下午3:47:17
* @package cn.com.movie.dao
*/
public class Hall implements Serializable {
}
package cn.com.movie.model;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* @description:
* @author yang
* @date 2016年3月14日 下午3:47:17
* @package cn.com.movie.dao
*/
public class HallShow implements Serializable {
}
“`
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
/**
* @description:
* @author yang
* @date 2016年4月7日 下午1:52:46
* @package cn.com.movie.util
*/
public class Util {
/** * 功能:将this_obj的值拷贝到obj中 * * @param this_obj * @param obj */ public static void copy(Object this_obj, Object obj) { try { Field fields_obj[] = obj.getClass().getDeclaredFields(); Field fields_this[] = this_obj.getClass().getDeclaredFields(); for (int i = 0; i < fields_obj.length; i++) { Field field = fields_obj[i]; field.setAccessible(true); //遍历this_obj for (int j = 0; j < fields_this.length; j++) { //发现相同的field就可以拷贝 if (fields_this[j].getName().equals(field.getName())) { //除去private stitic final的属性 if ((Modifier.FINAL + Modifier.STATIC + Modifier.PRIVATE) == field .getModifiers()) { break; } String field_name = field.getName(); //获得obj的set方法 Method m = (Method) obj.getClass().getMethod("set" + getMethodName(field_name), field.getType()); Class<?> parameter = field.getType(); //当set中的参数和field相同时,就可以拷贝 if (parameter.toString().equals(fields_this[j].getGenericType().toString())) { Method this_m = (Method) this_obj.getClass().getMethod("get" + getMethodName(field_name)); m.invoke(obj, this_m.invoke(this_obj)); } break; } } } } catch (IllegalArgumentException | IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (NoSuchMethodException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SecurityException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } // 把一个字符串的第一个字母大写、效率是最高的、 private static String getMethodName(String fildeName) throws Exception { byte[] items = fildeName.getBytes(); items[0] = (byte) ((char) items[0] - 'a' + 'A'); return new String(items); }
}
//测试类
package cn.com.movie.model;
import java.io.Serializable;
import java.lang.reflect.Field;
/**
* @description:
* @author yang
* @date 2016年3月14日 下午3:47:17
* @package cn.com.movie.dao
*/
public class Hall implements Serializable {
/** * **/ private static final long serialVersionUID = 1L; private int id; private String name; private String use_yn; private String introduce; private int seat_row; private int seat_col; private int seat_num; private int hall_type_id; private String hall_type_name; public String getHall_type_name() { return hall_type_name; } public void setHall_type_name(String hall_type_name) { this.hall_type_name = hall_type_name; } public int getId() { return id; } public String getName() { return name; } public String getUse_yn() { return use_yn; } public String getIntroduce() { return introduce; } public int getSeat_row() { return seat_row; } public int getSeat_col() { return seat_col; } public int getSeat_num() { return seat_num; } public int getHall_type_id() { return hall_type_id; } public void setId(int id) { this.id = id; } public void setName(String name) { this.name = name; } public void setUse_yn(String use_yn) { this.use_yn = use_yn; } public void setIntroduce(String introduce) { this.introduce = introduce; } public void setSeat_row(int seat_row) { this.seat_row = seat_row; } public void setSeat_col(int seat_col) { this.seat_col = seat_col; } public void setSeat_num(int seat_num) { this.seat_num = seat_num; } public void setHall_type_id(int hall_type_id) { this.hall_type_id = hall_type_id; }
}
package cn.com.movie.model;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* @description:
* @author yang
* @date 2016年3月14日 下午3:47:17
* @package cn.com.movie.dao
*/
public class HallShow implements Serializable {
/** * **/ private static final long serialVersionUID = 1L; private int id; private String name; private String use_yn; private String introduce; private int seat_row; private int seat_col; private int seat_num; private int hall_type_id; private List<HallType> hallTypes; public HallShow() { this.id = 0; this.name = new String(""); this.use_yn = new String(""); this.introduce = new String(""); this.seat_row = 0; this.seat_col = 0; this.seat_num = 0; this.hall_type_id = 0; this.hallTypes = new ArrayList<HallType>(); } public int getHall_type_id() { return hall_type_id; } public void setHall_type_id(int hall_type_id) { this.hall_type_id = hall_type_id; } public int getId() { return id; } public String getName() { return name; } public String getUse_yn() { return use_yn; } public String getIntroduce() { return introduce; } public int getSeat_row() { return seat_row; } public int getSeat_col() { return seat_col; } public int getSeat_num() { return seat_num; } public void setId(int id) { this.id = id; } public void setName(String name) { this.name = name; } public void setUse_yn(String use_yn) { this.use_yn = use_yn; } public void setIntroduce(String introduce) { this.introduce = introduce; } public void setSeat_row(int seat_row) { this.seat_row = seat_row; } public void setSeat_col(int seat_col) { this.seat_col = seat_col; } public void setSeat_num(int seat_num) { this.seat_num = seat_num; } public List<HallType> getHallTypes() { return hallTypes; } public void setHallTypes(List<HallType> hallTypes) { this.hallTypes = hallTypes; }
}
“`
相关文章推荐
- Java总结 第三篇 常用工具类
- java locks包下提供的锁。
- 100天JAVA学习计划04-认识封装
- eclipse运行mapreduce 提示:Caused by: java.lang.ArrayIndexOutOfBoundsException
- 约瑟夫环的问题与应用(JAVA)
- java多线程之Exchanger
- Java总结第二篇 异常处理--基本概念
- java对数计算
- 正则表达式初步
- java生成word 文档学习过程--Freemarker
- Java泛型
- Struts2自定义拦截器(实现没有登录情况下只能访问登录页面)
- JDK 1.5新特性之静态导入
- Spring+Hibernate进行双数据源测试Mysql集群读写分离
- Springmvc中@RequestParam传值中文乱码解决方案:
- 【风马一族_Java】使用java,画出任意大小的菱形
- spring 简介
- Java Socket编程详细解说
- Java IO:ByteArrayOutputStream使用详解及源码分析
- javabean总结