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
如果不是,在比较前一定要先格式化成这两种格式后再做比较,否则会抛异常。