欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java 中的一些类

程序员文章站 2022-03-09 07:59:24
一、Object 类:是所有 java 类的顶层父类。① Objects 类是一个工具类;② Objects 对外不提供构造器,因此无法创建对象;③ Objects 类中的所有方法都是 static;④ 提供的是对于对象的空指针安全操作的方法。public class Test {public static void main(String[] args) {User u1 = new User(1, "softeem", "123456");User u2 = null...

一、Object 类:

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

public class Test {

	public static void main(String[] args) {
		
		User u1 = new User(1, "softeem", "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());	 		

本文地址:https://blog.csdn.net/cn_luan/article/details/109953078