zoukankan      html  css  js  c++  java
  • 类型转换之 PropertyEditorSupport类

    这个类可以用于自定义的类型转换, 子类继承这个类之后可以重写子类的方法 ,其中比较重要的是setAsText和setValue方法,setAsText 子自己的方式处理转换,setValue将转换的结果进行保存,最后调用getValue()获取转换后的结果

    例子如下

    将三个字符串转换为userInfo对应的属性

      

    public class userInfo {
    private long userId;
    private String username;
    private int age;
    public long getUserId() {
    return userId;
    }
    public void setUserId(long userId) {
    this.userId = userId;
    }
    public String getUsername() {
    return username;
    }
    public void setUsername(String username) {
    this.username = username;
    }
    public int getAge() {
    return age;
    }
    public void setAge(int age) {
    this.age = age;
    }

    }

    //进行转换的类

    public class userPropertyEdit extends PropertyEditorSupport {

    @Override
    public void setAsText(String s) {
    // super.setAsText(info);
    // String[] personInfo = StringUtils.delimitedListToStringArray(info, "|");
    // 顺序为 id,age,name
    String[] Info = {"1","2","lile"};
    userInfo man = new userInfo();
    man.setUserId(Integer.parseInt(Info[0]));
    man.setAge(Integer.parseInt(Info[1]));
    man.setUsername(Info[2]);
    setValue(man);
    }

    }

    //测试类

    package myrefelct;

    public class testProperty {
    public static void main(String[] args) {
    userPropertyEdit e = new userPropertyEdit();
    e.setAsText("");
    Object s = e.getValue();
    System.out.println(s);
    }

    }

  • 相关阅读:
    Java多线程-死锁
    Java多线程-BlockingQueue
    Java多线程-Object.wait()
    Java多线程-System.exit(0)的作用
    Java多线程-线程状态
    关于j = j++在循环中执行的问题
    ThreadLocal的学习
    Java多线程-ReentrantLock重入锁同步线程源码学习
    Java中为什么可以用一个char(两个字节)表示一个中文字符
    我对Java动态代理的理解
  • 原文地址:https://www.cnblogs.com/lilefordream/p/4119216.html
Copyright © 2011-2022 走看看