0
点赞
收藏
分享

微信扫一扫

java类详解(深入浅出 Date Math System BigInteger等 )

Separes 2022-03-26 阅读 35

首先说下时间,时间是我们生活中非常重要的,再万事万物皆对象的java当然也不会放过它,我们从jdk8之前和jdk8以后来说明下它

JDK8 之前日期时间 API

import java.util.Date;
public class text1{
	public static void main(String[] args) {
		
		Date date = new Date();
		System.out.println(date);
		System.out.println(System.currentTimeMillis());
		System.out.println(date.getTime());
		Date date1 = new Date(date.getTime());
		System.out.println(date1.getTime());
		System.out.println(date1.toString());
	}
}

 

 

新日期时间 API 出现的背景

如果我们可以跟别人说:“我们在 1502643933071 见面,别晚了!”那么就再简单不

过了。但是我们希望时间与昼夜和四季有关,于是事情就变复杂了。 JDK 1.0 中包含了

一个 java.util.Date 类,但是它的大多数方法已经在 JDK 1.1 引入 Calendar 类之后被弃用

了。而 Calendar 并不比 Date 好多少。它们面临的问题是:

可变性:像日期和时间这样的类应该是不可变的。

偏移性: Date 中的年份是从 1900 开始的,而月份都从 0 开始。

格式化:格式化只对 Date 有用, Calendar 则不行。

此外,它们也不是线程安全的;不能处理闰秒等。

总结:对日期和时间的操作一直是 Java 程序员最痛苦的地方之一。

 

 

LocalDate LocalTime LocalDateTime 类是其中较重要的几个类,它们的实例

不可变的对象 ,分别表示使用 ISO-8601 日历系统的日期、时间、日期和时间。

它们提供了简单的本地日期或时间,并不包含当前的时间信息,也不包含与时区

相关的信息。

LocalDate 代表 IOS 格式( yyyy-MM-dd )的日期 , 可以存储 生日、纪念日等日期。

LocalTime 表示一个时间,而不是日期。

LocalDateTime 是用来表示日期和时间的, 这是一个最常用的类之一。

注: ISO-8601 日历系统是国际标准化组织制定的现代公民的日期和时间的表示

法,也就是公历

 

 

 

 

 

 Java比较器

Java 中经常会涉及到对象数组的排序问题,那么就涉及到对象之间

的比较问题。

  Java 实现对象排序的方式有两种:

自然排序: java.lang.Comparable

定制排序: java.util.Comparator

 

class Goods implements Comparable {
private String name;
private double price;
//按照价格,比较商品的大小
@Override
public int compareTo(Object o) {
	if(o instanceof Goods) {
		Goods other = (Goods) o;
		if (this.price > other.price) {
			return 1;
		} else if (this.price < other.price) {
			return -1;
		}
		return 0;
}
	throw new RuntimeException("输入的数据类型不一致");
}

@Override
public String toString() {
	return "Goods [name=" + name + ", price=" + price + "]";
}

public Goods(String name,double price)
{
	this.name=name;
	this.price=price;
}
}
public class text1{
public static void main(String[] args) {
	Goods[] all = new Goods[4];
		all[0] = new Goods("《红楼梦》", 100);
		all[1] = new Goods("《西游记》", 80);
		all[2] = new Goods("《三国演义》", 140);
		all[3] = new Goods("《水浒传》", 120);
		Arrays.sort(all);
System.out.println(Arrays.toString(all));
} 
}

 

System类 

 

 Math类

 BigInteger与BigDecimal

 

 

 

 

 System

 

举报

相关推荐

0 条评论