Guava使用笔记系列之Objects …

主要有三个方法吧: 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 String orderNo;
    private String createTime;
    private BigDecimal money;

    public Long getId() {
        return id;
    }

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

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public String getCreateTime() {
        return createTime;
    }

    public void setCreateTime(String createTime) {
        this.createTime = createTime;
    }

    public BigDecimal getMoney() {
        return money;
    }

    public void setMoney(BigDecimal money) {
        this.money = money;
    }

    @Override
    public int compareTo(OrderVo o) {
        return ComparisonChain.start().compare(this.getId(), o.getId()).compare(this.orderNo, o.orderNo).compare(this.getMoney(), o.getMoney()).result();
    }

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

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

    @Override
    public boolean equals(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 void main(String[] args) {
        try {
            FileUtils.copyFile(new File("D:/1.txt"), new FileOutputStream("D:/2.txt"));
        } catch (IOException e) {
            throw Throwables.propagate(e.getCause());//这种方式比我们手动的throw new RuntimException更加优雅
        }catch (Exception e){
            throw Throwables.propagate(e);
        }
    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值