Guava使用笔记系列之Objects …
2015-12-24 10:30
573 查看
主要有三个方法吧: 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);
}
}
}
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);
}
}
}
相关文章推荐
- JSON,XML,JavaObject对象互相转换…
- object is not an instance of dec…
- could not load any Objective-C class information. This will significantly reduce the quality of type
- #Objective-C 经典字典数组排序 - 省市区
- -[__NSCFDictionary setObject:forKey:]: mutating method sent to immutable object' 解决方法:
- ASP.NET MVC3更新出错:ObjectStateManager中已存在具有同一键的对象
- AsObject()转换成C#中的实体类
- OBjective-c NSThread 多线程1
- objective-c CLGeocoder 自带地图应用 路径导航
- MVVM双向绑定实现之Object.defineProperty
- eclipse工具及Object类、Scanner类
- Java Object类
- Objective-C Autorelease Pool 的实现原理
- 【Objective-C学习记录】第二十二天
- JS_funciton,object,Array
- iOS开发系列--Objective-C之KVC、KVO
- 数据类型和运算符(标识符和变量)
- Objective-C:@class和#import
- objective-c 中三种产生随机数的方法
- Objective--C UI Block 实现从后往前传值 学习笔记