基本数据类型的包装类(wrapper class)、自动的装箱和拆箱、时间处理相关类、Math类、File类、枚举类

包装类(wrapper class)

  --基本数据类型对应的类统称为包装类(Wrapper Class)。包装类均位于java.lang包,包装类和基本数据类型的对应关系如下表所示:

基本数据类型 包装类
byte Byte
short Short
int Integer
long Long
float Float
double Double
boolean Boolean
char Character

包装类的用途

  --作为和基本数据类型对应的类类型存在,方便涉及到对象的操作。

  --包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法(这些操作方法的作用是在基本类型数据、包装类对象、字符串之间提供转化!)。


自动的装箱(autoboxing)和拆箱(unboxing)

  --将基本类型和包装类进行自动的互相转换。

  自动装箱的过程:每当需要一种类型的对象时,这种基本类型就自动地封装到与它相同类型的包装中。

  自动拆箱的过程:每当需要一个值时,被装箱对象中的值就被自动地提取出来,没必要再去调用intValue()和doubleValue()方法。

  自动装箱与拆箱的功能事实上是编译器来帮您的忙,编译器在编译时期依您所编写的语法,决定是否进行装箱或拆箱动作。

1 //自动装箱
2 Integer i = 100;
3 相当于编译器自动为您作以下的语法编译:
4 Integer i = new Integer(100);
5 
6 
7 //自动拆箱
8 int a = new Integer(100);  
9 int a = new Integer(100).intValue();

  虽然使用这个功能很方便,但在程序运行阶段您得了解Java的语义。例如下面的程序是可以通过编译的:

1 Integer i = null;
2 int j = i;

  这样的语法在编译时期是合法的,但是在运行时期会有错误的。

  写法相当于:

1 Integer i = null;  
2 int j = i.intValue();

  null表示i没有参考至任何的对象实体,它可以合法地指定给对象参考名称。由于实际上i并没有参考至任何的对象,所以也就不可能操作intValue()方法,这样上面的写法在运行时会出现NullPointerException错误。

  注意:自动装箱拆箱时,对于-128-127之间的值,编译器仍然会把它当做基本类型处理。

 1 Integer h = 100; 
 2 Integer u = 100;
 3 Integer h2 = 200;
 4 Integer u2 = 200;
 5 if(h==u){
 6     System.out.println("100等于");
 7 }
 8 if(h2==u2){
 9     System.out.println("200等于");
10 }

时间处理相关类

Date时间类(java.util.Date)

  --Data的对象表示一个特定的瞬间,精确到毫秒。

  查看API文档大家可以看到很多方法过时了,JDK1.1之前的Date包含了:日期操作、字符串转化成时间对象,时间对象。  1.1之后,日期操作使用:Canlendar类来。 字符串转化:DateFormat。

DateFormat和SimpleDateFormat类

  作用:把时间对象转化成指定格式的字符串。反之,把指定格式的字符串转化成时间对象。

  DateFormat是一个抽象类。一般使用SimpleDateFormat类。

Calendar 日历类

  GregorianCalendar 是 Calendar 的一个具体子类。

  月份的表示,一月是0,二月是1,以此类推,是12月是11。星期的表示,星期日是1,星期一是2,以此类推。因为大多数人习惯于使用单词而不是使用数字来表示月份,这样程序也许更易读,父类Calendar使用常量来表示月份:JANUARY, FEBRUARY,等等

原文地址:https://www.cnblogs.com/fanyizhan/p/9919401.html