一、Object 类:

是所有 java 类的顶层父类。
① Objects 类是一个工具类;
② Objects 对外不提供构造器,因此无法创建对象;
③ Objects 类中的所有方法都是 static;
④ 提供的是对于对象的空指针安全操作的方法。

public class Test {

	public static void main(String[] args) {
		
		User u1 = new User(1, "lm", "123456");
		User u2 = null;

		//空指针安全的对象比较
		System.out.println(Objects.equals(u1, u2));		//false
		//空指针安全的toString( 对象若为null则输出“null”字符串)
		System.out.println(Objects.toString(u2)); 	//null
		//对象若为null则输出“0”
		System.out.println(Objects.toString(u2,"0"));		//0
		//空指针安全的hashCode
		System.out.println(Objects.hashCode(u2));		//0
		//为空判断
		System.out.println(Objects.isNull(u2));		//true
		//不为空判断
		System.out.println(Objects.nonNull(u2));	//false
	}
}
	
class User {
	private int sno;
	private String sname;
	private String password;
	
	public User(int sno, String sname, String password) {
		super();
		this.sno = sno;
		this.sname = sname;
		this.password = password;
	}
}

二、Random 类:

该类的实例用于生成伪随机数。
① nextBoolean():随机一个布尔值;
② nextDouble():随机一个 0.0~1.0 之间的 double 值;
③ nextInt():随机一个int范围内的整数值;
④ nextInt(int x):随机一个从 0~x-1 位的整数值。

Random r = new Random();
		// 随机布尔值
		boolean f = r.nextBoolean();
		System.out.println(f);
		
		// 随机一个从[0 1)之间的浮点数
		double d = r.nextDouble();
		System.out.println(d);
		
		//随机一个int范围内的整数值
		int i = r.nextInt();
		System.out.println(i);

		// 随机一个[0 5)以内的整数
		i = r.nextInt(5);
		System.out.println(i);		

		// 随机一个[5 10]之间的整数
		i = r.nextInt(6) + 5;
		System.out.println(i);

三、File 类:

File 类是来自于 java.io 包中的一个用于处理本机操作系统中的文件,文件可以是目录也可以是一个标准文件;File 类是用于在 Java 中实现跟本机文件系统进行关联的操作类
常见属性:

常量

解释

pathSeparator

获取与本机系统相关的路径分隔符

separator

获取与本机系统相关的目录分隔符

常用方法
① createNewFile() 创建新文件(标准文件)
② exists() 判断 File 对象是否存在
③ delete() 删除 File 对象所表示的文件或者目录(空目录)
④ getName() 获取 File 对象所表示的文件名称
⑤ getParent() 获取 File 所指的文件或者目录的父路径
⑥ isFile() 判断当前 File 所指的是否是标准文件
⑦ isDirectory() 判断当前 File 所指的是否是目录
⑧ length() 获取 File 所表示文件大小(字节)
⑨ list() 获取 File 所表示目录下所有子文件的名称数组
⑩ listRoots() 获取当前电脑可用的磁盘根
⑪ mkdir() 创建当前 File 所表示的目录(一级)
⑫ renameTo(File file) 重命名文件

四、Date 类 & Calendar 类

1:Date 类
① Date():获取当前系统时间所表示的日期对象
② Date(long time):根据提供的时间毫秒数,构建一个日期对象(从1970年1月1日 00:00:00开始)
③ after(Date d):判断当前日期对象是否是参数日期对象之后和日期
④ before(Date d):判断当前日期对象是否是参数日期对象之前和日期
⑤ getTime():获取当前日期对象所表示的时间毫秒数
2:日期格式化(DateFormat & SimpleDateFormat)
例如:

Date d = new Date();
		//获取一个用于进行日期(Date)格式化的对象
		DateFormat fmt = DateFormat.getDateInstance();
		String time = fmt.format(d);
		System.out.println(time);	//2020-11-20
		
		// 获取一个用于进行日期时间(DateTime)格式的对象
		fmt = DateFormat.getDateTimeInstance();
		time = fmt.format(d);
		System.out.println(time);	//2020-11-20 9:50:37
		
		//获取一个用于进行时间(Time)格式化的对象
		fmt = DateFormat.getTimeInstance();
		time = fmt.format(d);
		System.out.println(time);	//9:50:37
		
		//获取简单的日期格式化对象
		fmt = DateFormat.getInstance();
		time = fmt.format(d);
		System.out.println(time);	//20-11-20 上午9:50
		
		//指定格式日期时间的字符串
		fmt = new SimpleDateFormat("yyyyMMdd");
		System.out.println(fmt.format(d));	//20201120
		
		fmt = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss:SSS");	//2020年11月20日 09:50:37:988
		System.out.println(fmt.format(d));
		
		fmt = new SimpleDateFormat("[HH:mm:ss]");
		System.out.println(fmt.format(d));	//[09:55:28]
		
		/** 将String类型的日期时间转换成Date类型对象 */
		String dateTime = "1999/11/11 11:11:11";
		fmt = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
		//将字符串类型的时间根据指定的格式解析为Date类型对象
		Date date = fmt.parse(dateTime);
		System.out.println(date);

3:Calendar 类
JDK 1.1 开始 Date 中很多方法和构造器标记为过时,新增替代方案 Calendar,是一个抽象类有一个直接子类:java.util.GregorianCalendar 对其继承,并且实现其中的抽象方法,具体使用如下:

//以当前系统时间为基础获取日历实例  时区 + 8
		Calendar c = Calendar.getInstance();	
		
		//设置日历到2019年11月20日?
		c.set(2019, 10, 20);
		System.out.println(c);
		System.out.println("获取日历表示的年份:"+c.get(Calendar.YEAR));  
		System.out.println("获取日历表示的月份(月份从0开始):"+c.get(Calendar.MONTH));  //10(月份从0-11)
		System.out.println("获取日历表示的日期"+c.get(Calendar.DAY_OF_MONTH));  //20
		System.out.println("获取日历表示的小时"+c.get(Calendar.HOUR_OF_DAY));  //当前小时
		System.out.println("获取日历表示的分钟"+c.get(Calendar.MINUTE));  		//当前分钟
		System.out.println("获取日历表示的秒钟"+c.get(Calendar.SECOND));  		//当前秒钟
		System.out.println("获取日历表示的毫秒"+c.get(Calendar.MILLISECOND)); 	//当前毫秒
		System.out.println("获取当前日历表示的日期是今年的第多少天:"+c.get(Calendar.DAY_OF_YEAR));	//今年第多少天
		System.out.println("获取日历所有表示的时间毫秒数"+c.getTimeInMillis());