Guava使用笔记系列之Objects …

来源:互联网 发布:营口港数据 编辑:程序博客网 时间:2024/06/05 20:53
主要有三个方法吧: equals,hashCode,compareTo
package com.qunar.google.guava;

import com.google.common.base.MoreObjects;
import com.google.common.base.Objects;
import com.google.common.collect.ComparisonChain;

import java.math.BigDecimal;

public class OrderVo implements Comparable {
    private Long id;
    private StringorderNo;
    private StringcreateTime;
    private BigDecimalmoney;

    public Long getId(){
       return id;
    }

    public void setId(Longid) {
       this.id = id;
    }

    public StringgetOrderNo() {
       return orderNo;
    }

    public voidsetOrderNo(String orderNo) {
       this.orderNo = orderNo;
    }

    public StringgetCreateTime() {
       return createTime;
    }

    public voidsetCreateTime(String createTime) {
       this.createTime = createTime;
    }

    public BigDecimalgetMoney() {
       return money;
    }

    public voidsetMoney(BigDecimal money) {
       this.money = money;
    }

    @Override
    public intcompareTo(OrderVo o) {
       returnComparisonChain.start().compare(this.getId(),o.getId()).compare(this.orderNo,o.orderNo).compare(this.getMoney(), o.getMoney()).result();
    }

    @Override
    public String toString(){
       returnMoreObjects.toStringHelper(this).toString();
    }

    @Override
    public int hashCode(){
       return Objects.hashCode(this.getId(),this.getOrderNo(), this.getMoney(), this.getCreateTime());
    }

    @Override
    public booleanequals(Object obj) {
       return Objects.equal(this,obj);
    }
}

ThrowableUtils 的使用.

package com.qunar.google.guava;

import com.google.common.base.Throwables;
import org.apache.commons.exec.util.MapUtils;
import org.apache.commons.io.FileUtils;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

public class ThrowableUtilsTest {
    public static voidmain(String[] args) {
       try {
          FileUtils.copyFile(new File("D:/1.txt"), newFileOutputStream("D:/2.txt"));
       } catch (IOException e) {
           throwThrowables.propagate(e.getCause());//这种方式比我们手动的throw newRuntimException更加优雅
       }catch (Exception e){
           throwThrowables.propagate(e);
       }
    }
}


0 0
原创粉丝点击