java进阶5——日期类、包装类和正则表达式

本文详细介绍Java中的日期时间处理技术,包括Date类的构造方法及常用方法、DateFormat与SimpleDateFormat类的使用方法,以及Calendar类的基本操作。此外还介绍了包装类与正则表达式的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

日期相关类

Date类

表示特定的瞬间,精确到毫秒,他可以通过方法来设定自己所表示的时间,可以表示任意的时间

  • Date类的构造方法
    Date() :创建的是一个表示当前系统时间的Date对象
    Date(long date) :根据”指定时间”创建Date对象一旦使用这个构造方法,那么时间就是从1970年1月1号的8点0分0秒开始,加上括号内给定的毫秒,而不是从当前时间开始累加

  • Date类常用方法

void setTime(long time):设置当前时间,调用此方法时,默认时间从197011800秒开始加上给的时间
long getTime():获取到的是毫秒值
DateFormat类 & SimpleDateFormat
  • DateFormat:
    一个抽象类,用于格式化时间和日期的类
  • SimpleDateFormat
    是DateFormat的实现类,用于格式化时间和日期的类,将日期转换为我们想要的格式——Date—–String的转换;或者将字符串转换为Date
DateFormat&SimpleDateFormat的常用方法
  • DateFormat
// 一下两个方法都是先通过SimpleDateFormat的有参构造方法设置转换格式之后,在通过SimpleDateFormat的向上转型调用实现的
format(Date date);  // 将日期对象转换为指定的格式
parse(String source);   // 将字符串转换为日期对象
  • SimpleDateFormat
SimpleDateFormat(String pattern);   // 设置转换格式

结合使用的结果如下
这里写图片描述
这里特别注意,SimpleDateFomat这个类的有参构造中的几个英文字母是固定的,不可更改,具体规则请查看API

Calendar类

是日历类,也是一个抽象类,可通过其自身的静态方法getInstance()方法创建对象
- Calendar类常用方法

getInstance();  // 获取一个Calendar的对象
get(int field); // 返回给定日历字段的值,一般使用对象.年/月/日....来获取对应字段的值
set(int field, int value);  // 把指定的字段修改成指定的值
add(int field, int amount); // 在指定的字段上加上指定的值

这里需要注意,月份是从0开始的,所以使用的时候需要给月份加1

包装类&正则表达式

包装类

java将基本数据类型值封装成了对象。可以提供更多的操作基本数值的功能。
8种基本类型对应的包装类如下:
这里写图片描述
这里需要注意一下,int的包装类是Integer,char的包装类是Character,其他六个都是首字母大写

  • Integer的常用方法
// 构造方法:
Integer(int value); // 创建一个Integer对象,这个对象的值就是括号中给定的值
Integer(String s);  // 创建一个Integer对象,这个对象的值就是括号中给定的值

下面的构造方法中的参数,只能是字符串类型的数字,其他值会报错

// 成员方法:
intValue(); // 以int类型返回该Integer的值
parseInt(String s); // 将参数作为有符号的的整数返回
toString(); // 返回一个表示该Integer值得String对象
包装类的自动装箱与拆箱

因为在java中对象是无法进行加减乘除运算的,所以就有了自动装箱与拆箱,这是jdk1.5的特性,为了实现对象能够运算
自动拆箱:对象转成基本数值
自动装箱:基本数值转成对象

//自动装箱
//相当于: Integer i = new Integer(10);
//Integer i = 10;

//自动拆箱
//相当于 int a = i.intValue();
//Integer i = 10;
//int a = i;

正则表达式

正则表达式概述

正则表达式是专门解决字符串规则匹配的工具。
正则表达式也是一个字符串,用来定义匹配规则。
参照正则表达式帮助文档

/**
* 判断数字:首位不能为3,长度在3-7之间,全部为数字
*/
// 创建一个字符串对象,因为使用正则表达式需要通过字符串对象调用matches方法
String s = "1236";
// 调用matches方法,并设置规则
boolean matches = s.matches("[^3][0-9]{2,6}");
// 将匹配结果打印
System.out.println(matches);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值