zoukankan      html  css  js  c++  java
  • 对象操作工具类

    public class ObjectUtils extends org.apache.commons.lang3.ObjectUtils {

    /**
    * 注解到对象复制,只复制能匹配上的方法。
    * @param annotation
    * @param object
    */
    public static void annotationToObject(Object annotation, Object object){
    if (annotation != null){
    Class<?> annotationClass = annotation.getClass();
    if (null == object) {
    return;
    }
    Class<?> objectClass = object.getClass();
    for (Method m : objectClass.getMethods()){
    if (StringUtils.startsWith(m.getName(), "set")){
    try {
    String s = StringUtils.uncapitalize(StringUtils.substring(m.getName(), 3));
    Object obj = annotationClass.getMethod(s).invoke(annotation);
    if (obj != null && !"".equals(obj.toString())){
    m.invoke(object, obj);
    }
    } catch (Exception e) {
    // 忽略所有设置失败方法
    }
    }
    }
    }
    }

    /**
    * 序列化对象
    * @param object
    * @return
    */
    public static byte[] serialize(Object object) {
    ObjectOutputStream oos = null;
    ByteArrayOutputStream baos = null;
    try {
    if (object != null){
    baos = new ByteArrayOutputStream();
    oos = new ObjectOutputStream(baos);
    oos.writeObject(object);
    return baos.toByteArray();
    }
    } catch (Exception e) {
    e.printStackTrace();
    }
    return null;
    }

    /**
    * 反序列化对象
    * @param bytes
    * @return
    */
    public static Object unserialize(byte[] bytes) {
    ByteArrayInputStream bais = null;
    try {
    if (bytes != null && bytes.length > 0){
    bais = new ByteArrayInputStream(bytes);
    ObjectInputStream ois = new ObjectInputStream(bais);
    return ois.readObject();
    }
    } catch (Exception e) {
    e.printStackTrace();
    }
    return null;
    }
    }
  • 相关阅读:
    Linux文件属性
    [Oracle] Listener的动态注册
    jQuery easyUI Pagination控件自定义div分页(不用datagrid)
    桂林电子科技大学出校流量控制器Android版1.0.0
    php使用check box
    Python windows ping
    Python selenium chrome 环境配置
    Linux wget auto login and backup database
    PyQt4 ShowHMDB show sqlite3 with QTableWidget summary
    PyQt4 py2exe 打包 HardwareManager
  • 原文地址:https://www.cnblogs.com/luyuefei/p/13386564.html
Copyright © 2011-2022 走看看