Calendar类
Calendar类是java.util包中提供的一个抽象类,该类从JDK1.1开始出现,作为Date类的替代方案,Calendar类中包含了对不同国家地区日历的处理,Calendar类常见的子类为:java.util.GregorianCalendar;获取Calendar对象一般使用类中提供的静态方法:getInstance(),有关Calendar类的具体使用如下:
public class CalendarDemo {
public static void main(String[] args) {
// 获取一个Calendar实例(以当前系统时间为依据)
Calendar c = Calendar.getInstance();
// 获取日历所表示日期中的年份
System.out.println(c.get(Calendar.YEAR));
// 获取日历所表示日期中的月份
System.out.println(c.get(Calendar.MONTH) + 1);
// 获取日历所表示日期月份中的天数
System.out.println(c.get(Calendar.DAY_OF_MONTH));
// 获取小时数
System.out.println(c.get(Calendar.HOUR));
// 获取分钟数
System.out.println(c.get(Calendar.MINUTE));
// 获取秒钟数
System.out.println(c.get(Calendar.SECOND));
//设置日历中指定字段的值
c.set(Calendar.MONTH, 5);
//获取当前日历所表示的字段具备的最大值
System.out.println(c.getActualMaximum(Calendar.DAY_OF_MONTH));
//设置日历中的日期为月份中的第一天
c.set(Calendar.DAY_OF_MONTH, 1);
//当前月份的第一天是星期几?(周天是第一天)
System.out.println(c.get(Calendar.DAY_OF_WEEK));
System.out.println(c);
}
}
Runtime类
正则表达式
正则表达式是一种最早起源于Perl语言的特殊字符串技术,可以通过一些固定的模式编写一些特殊的字符串,通过对这些特殊字符串使用,可以有效的进行表单验证(手机,邮箱,网址等输入格式的检查),以及一些数据的爬取,包括字符替换等功能;因此,正则表达式是一项非常强大的表达式语言。
Java中对正则表达式的支持主要通过以下几个类:
- java.lang.String 字符串类
- java.util.regex.Pattern 正则表达式的编译器类
- java.util.regex.Matcher 正则表达式的匹配器
简单的正则表达式例子:
手机号: ^1[3456789]\d{9}$
解析:
观察以上表达式,被匹配的字符串,必须以数字1开后,后面第二数只能为3,4,5,6,7,8,9中的其中一个,从第三位开始后面一共包含9位数字,并且以数字结尾。
实现如下
public class RegexDemo {
public static void main(String[] args) {
String regex = "^1[3456789]\\d{9}$";
String phone = "15876578979";
//判断当前字符串对象是否匹配给定的正则表达式
//System.out.println(phone.matches(regex));
//对指定的表达式编译,获取一个编译器对象
Pattern p = Pattern.compile(regex);
//对目标字符串获取匹配器
Matcher m = p.matcher(phone);
//尝试匹配
boolean result = m.matches();
System.out.println(result);
}
}
集合框架
JDK1.2开始引入了集合框架的概念,以弥补java中只有数组这种容器的单一问题,这些框架多数由接口构成,另外也包含了一些对于接口实现的类,其中这些接口的最上层接口为java.util.Collection,Collection下也包含几个常见的子接口:List(列表)、Set(集合)、Queue(队列);另外还有个常见接口:Map.
List集合
List是java集合框架种最常见的一个集合接口,直接从Collection继承而来;List集合是一个有序集合(内部的元素顺序按照添加顺序存储);List接口中包含几个常用的实现类:ArrayList、LinkedList、Vector(JDK1.0)