Java常用方法 总结

1.将元素插入List的指定位置:

List<String> list = new ArrayList<String>();  
        list.add("a");  
        list.add("b");  
        list.add("c");  
        list.add("d");  
        list.add("e");  
        list.add(2, "f");  
        System.out.println(list); // [a, b, f, c, d, e]

2.对List<?>排序:

首先假设youz有这个bean : ColumnValue

public class ColumnValue implements Comparable<ColumnValue>{

    private ColumnMeta column;
    private Object value;
    private boolean check = true;

    public ColumnValue() {
    }

    public ColumnValue(ColumnMeta column, Object value) {
        this(column, value, true);
    }

    public ColumnValue(ColumnMeta column, Object value, boolean check) {
        this.value = value;
        this.column = column;
        this.check = check;
    }

    public ColumnMeta getColumn() {
        return column;
    }

    public void setColumn(ColumnMeta column) {
        this.column = column;
    }

    public Object getValue() {
        return value;
    }

    public void setValue(Object value) {
        this.value = value;
    }

    public boolean isCheck() {
        return check;
    }

    public void setCheck(boolean check) {
        this.check = check;
    }

    public ColumnValue clone() {
        ColumnValue column = new ColumnValue();
        column.setValue(this.value);
        column.setColumn(this.column.clone());
        return column;
    }

    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((column == null) ? 0 : column.hashCode());
        result = prime * result + ((value == null) ? 0 : value.hashCode());
        return result;
    }

    public boolean equals(Object obj) {
        if (this == obj) return true;
        if (obj == null) return false;
        if (getClass() != obj.getClass()) return false;
        ColumnValue other = (ColumnValue) obj;
        if (column == null) {
            if (other.column != null) return false;
        } else if (!column.equals(other.column)) return false;
        if (value == null) {
            if (other.value != null) return false;
        } else if (!value.equals(other.value)) return false;
        return true;
    }

    @Override
    public String toString() {
        return "ColumnValue [column=" + column + ", value=" + value + "]";
    }

	@Override
	public int compareTo(ColumnValue col) {
		// TODO Auto-generated method stub
		int flag = this.column.getName().compareTo(col.column.getName());
		
		return flag;
	}

}

实现这个接口 :  Comparable<ColumnValue>

然后实现这个对比的方法 : compareTo 这里是根据name来排序。

调用排序:

List<ColumnValue> columns = new LinkedList<ColumnValue>();

Collections.sort(columns); // 排序

3. 使用占位符来格式化字符串:

static String CustomMapper = "\n\t@Autowired\n\tprivate {0}Mapper {1}Mapper;";


java.text.MessageFormat.MessageFormat.format(CustomMapper, "test", "class");

:如果传入的内容不是String,比如:int , Long 会导致数字里面有 , 号,所以需要强制显示转成String类型。 

4. 通过matches正则匹配一些内容:

-- 匹配init开头的、不包含bastriver并且以xml结尾的内容
public static final String REGEX1 = "^(.*)init_((?!(bastriver)).)*\\.xml$";

-- 匹配update开头的、包含abc|efg|hij|rpg其中之一 并且以xml结尾的内容
public static final String REGEX2 = "^(.*)update_(abc|efg|hij|rpg).*_LOGO_.*.xml$";

-- 匹配test开头的、包含bastriver并且以xml结尾的内容
public static final String REGEX3 = "^(.*)test_(.*?)(bastriver).*\\.xml$";

5. split(regex, limit) 使用注意切割的字符是不是特殊字符,比如: | 和 . 

6. json字符串和java bean间的转换。用到Ali的fastjson,这篇文章写的很详细。

 

1) .*具有贪婪的性质,首先匹配到不能匹配为止,根据后面的正则表达式,会进行回溯;

2) .*?则相反,一个匹配以后,就往下进行,所以不会进行回溯,具有最小匹配的性质;

3) 更多Java常用的工具类可以参考:Hutool

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值