包装类概述
在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个基本数据类型对应的类统称为包装类(Wrapper Class)。
在这八个类名中,除了Integer和Character类以后,其它六个类的类名和基本数据类型一致,只是类名的第一个字母大写即可。
integer类
继承Number实现Comparable接口
number类:所有数值对应包装类的父类。
comparable接口 :只有一个抽象方法。用于比较两个引用类型
Integer成员字段介绍
- static int MAX_VALUE
- 值为 231-1 的常量,它表示 int 类型能够表示的最大值。
- static int MIN_VALUE
- 值为 -231 的常量,它表示 int 类型能够表示的最小值。
- static int SIZE
- 用来以二进制补码形式表示 int 值的比特位数。
- static Class TYPE
- 表示基本类型 int 的 Class 实例
- 构造方法介绍:
- Integer(int value)
- 构造一个新分配的 Integer 对象,它表示指定的 int 值。
- Integer(String s)
- 构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。
Integer n=new Integer(10);
Integer s=new Integer("12");
// Class用来描述类,类用来描述或者定义事物
Class c = Integer.TYPE;
// Integer.Type用来描述 int这个基本类型事物
System.out.println(c.getName()); // int
成员方法
public int intValue() 拆箱,将Integer转化为整型
public static int parseInt(String s) 将字符串转换为int类型
public static String toString(int i) 将整型转换为字符串
public static Integer valueOf(int i) 将整型装换为Integer类型
public static Integer valueOf(String s) 将字符串转换为Integer类型
IntegerCache类
该类是Integer类中的静态私有内部类,该类主要作用是为了提高获取-128~127之间Integer对象的效率。
该类提供以下三个字段:
static final int low = -128;
static final int high;
static final Integer cache[];
Cache[]数组的所有元素会在加载Integer类的时候就初始化,初始化的值的范围在-128~127之间。
当我们使用Integer.valueOf()方法的时候,其实系统并不会立刻帮我们创建Integer对象,而是会先判断,判断整数值是否在-128~127之间,如果在该范围内,则先从IngtegerCache的缓存中取出,如果不在则创建之,从而提高了效率。
日期时间类
Date()分配一个Date对象,并初始化此对象为当前的日期和时间精确到毫秒)。
Date(long date) 分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。
SimpleDateFormat类
构造方法
public SimpleDateFormat() 创建日期格式化对象
public SimpleDateFormat(String pattern) 按照执行日期格式模型创建日期格式化对象
成员方法
public final String format(Date date) 将日期对象格式化成指定字符串(format意为:格式)
public Date parse(String source) 将字符串解析为日期对象
(parse意为:(对句子) 作语法分析; 作句法分析;
)
Date d = new Date();
String s="今天是yyyy年MM月dd日,是今年第ww周";
SimpleDateFormat sdf = new SimpleDateFormat(s);
System.out.println(sdf.format(d));
String s2="今晚23点13分12秒准时吃老虎,祭拜2020年11月2号的到来";
SimpleDateFormat df1 = new SimpleDateFormat("今晚HH点mm分ss秒准时吃老虎,祭拜yyyy年MM月dd号的到来");
Date d2 = null;
try {
d2 = df1.parse(s2);
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(d2);
}