Java 中的包装类
JAVA中基本数据类型有 byte、short、int、long、float、double、boolean、char 。
基本数据类型是不具备对象的特性的,比如基本类型不能调用方法,为了让基本数据类型也具备对象的特性, Java 为每个基本数据类型都提供了一个包装类。
基本类型和包装类之间的对应关系:
包装类主要提供了两大类方法:
将本类型和其他基本类型进行转换的方法
将字符串和本类型及包装类互相转换的方法
Integer包装类的常用方法:
将Integer转为byte类型,方法名称 byteValue()
将Integer转为double类型,方法名称 doubleValue()
将Integer转为float类型,方法名称 floatValue()
将Integer转为int类型,方法名称 intValue()
将Integer转为long类型,方法名称 longValue()
将Integer转为字符串类型,方法名称 toString()
Java 中基本类型和包装类之间的转换
基本类型和包装类之间经常需要互相转换,以 Integer 为例(其他几个包装类的操作类似):
Integer a =new Integer(30);//定义Integr包装类对象,值为30
int b=a+8;//将对象觉基本类型进行运算
在 JDK1.5 引入自动装箱和拆箱的机制后,包装类和基本类型之间的转换就更加方便了。
装箱:把基本类型转换成包装类,使其具有对象的性质,又可分为手动装箱和自动装箱
int num=2;
Integer m=new Integer (num); //手动装箱
Integer n=num; //自动装箱
拆箱:和装箱相反,把包装类对象转换成基本类型的值,也分为手动拆箱和自动拆箱
Integer number =new Integer(16);
int s=j.intValue();//手动拆箱为int类型
int a=j;//自动拆箱为int类型
Java 中基本类型和字符串之间的转换
在程序开发中,经常需要在基本数据类型和字符串之间进行转换。
基本类型转换为字符串有三种方法:
使用包装类的 toString() 方法
使用String类的 valueOf() 方法
用一个空字符串加上基本类型,得到的就是基本类型数据对应的字符串
eg:
int num1=15;
String str1=Integer.toString(c);//方法一
String str2=String.valueOf(c);//方法二
String str3=c+" ";//方法三
将字符串转换成基本类型有两种方法:
调用包装类的 parseXxx 静态方法
调用包装类的 valueOf() 方法转换为基本类型的包装类,会自动拆箱
String str="33";
int num2=Integer.parseInt(str);//方法一
int num3=Integer.valueOf(str);//方法二
使用 Date 和 SimpleDateFormat 类表示时间
在开发过程中,经常需要处理日期和时间的相关数据,此时我们可以使用 java.util 包中的 Date 类。这个类最主要的作用就是获取当前时间:
Date date=new Date();//使用默认的构造方法创建Date对象
我们直接输出 Date 对象显示当前的时间,显示的结果如下:
Thu Jan 11 08:00:00 CST 1970
其中, Thu 代表星期几, Jan代表 月份, 11 代表 11 号, CST 代表(中国标准时间,也就是北京时间)。
从上面的输出结果,我们发现与我们日常看到的日期格式不太一样,如果想要按指定的格式进行显示,如 2016-07-14 23:30:30 ,此时就要用到了java.text 包中的 SimpleDateFormat 类,可以使用 SimpleDateFormat 来对日期时间进行格式化,可以将日期转换为指定格式的文本,也可将文本转换为日期。
使用 format() 方法将日期转换为指定格式的文本
Date date =new Date();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowdate=sdf.format(date);
System.out.printIn(nowdate);
代码中的 “yyyy-MM-dd HH:mm:ss” 为预定义字符串,
yyyy 表示四位年, MM 表示两位月份, dd 表示两位日期,
HH 表示小时(使用24小时制), mm 表示分钟, ss 表示秒,
这样就指定了转换的目标格式,最后调用 format() 方法将时间转换为指定的格式的字符串。
运行结果: 2016-07-14 23:35:56
使用 parse() 方法将文本转换为日期
String day="2016年07月14日 23:30:59";
SimpleDateFormat df=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
Date date=df.parse(day);
代码中的 “yyyy年MM月dd日 HH:mm:ss” 指定了字符串的日期格式,调用 parse() 方法将文本转换为日期。
运行结果: Thu Jan 11 08:00:00 CST 1970(这样格式的时间,我没有运行直接写的时间)
注意:
调用 SimpleDateFormat 对象的 parse() 方法时可能会出现转换异常,即 ParseException ,因此需要进行异常处理
使用 Date 类时需要导入 java.util 包,使用 SimpleDateFormat 时需要导入 java.text 包