BigDecimal 比较大小

BigDecimal a = new BigDecimal (101);
BigDecimal b = new BigDecimal (111);
 
//使用compareTo方法比较
//注意:a、b均不能为null,否则会报空指针
if(a.compareTo(b) == -1){
    System.out.println("a小于b");
}
 
if(a.compareTo(b) == 0){
    System.out.println("a等于b");
}
 
if(a.compareTo(b) == 1){
    System.out.println("a大于b");
}
 
if(a.compareTo(b) > -1){
    System.out.println("a大于等于b");
}
 
if(a.compareTo(b) < 1){
    System.out.println("a小于等于b");
}

 比较日期大小

2.Date比较大小

一般写法

@Test
public void dateTest() {
    Date date1 = new Date();
    Date date2 = new Date();
    boolean result1 = date1.getTime() > date2.getTime();   // date1时间比date2时间大(所以date1比date2晚)
    boolean result2 = date1.getTime() < date2.getTime();   // date1时间比date2时间小(所以date1比date2早)
    boolean result3 = date1.getTime() == date2.getTime();  // date1时间和date2时间相等
}

高级写法

@Test
public void dateTest1() {
    Date date1 = new Date();
    Date date2 = new Date();
    boolean result1 = date1.before(date2);  //true ——>date1小于date2(date1比date2早) false反之
    boolean result2 = date1.after(date2);  //true ——>date1大于date2(date1比date2晚) false反之
    boolean result3 = date1.equals(date2); //rure 相等
}

注意!
date1和date2的2个日期,一定要是标准的日期格式:yyyyMMddHHmmss或yyyy-MM-dd HH:mm:ss
如果不是,在比较前一定要先格式化成这两种格式后再做比较,否则会抛异常。

原文地址:https://www.cnblogs.com/roak/p/14783882.html