Java中有很多常用类,这些是我们必须要掌握的,下面对这些常用类及其常用方法进行总结并保持更新。
包装类
我们都知道,Java中有一个系统类型由两部分组成,包含基本类型(primitive),例如int、float、double等,和引用类型(reference type),如String和List。而基本数据类型是不具备对象特征的,每个基本类型都有一个对应的引用类型,称作是装箱基本类型(boxed primitive)或包装类。而基本类与包装类的关系如下表:
包装类主要提供了两大类方法:
1. 将本类型和其他基本类型进行转换的方法
2. 将字符串和本类型及包装类互相转换的方法
以Integer为例(其他包装类类似)说明这两种转换:
而自从JDK1.5以后Java中引入了自动拆箱和装箱的机制,包装类和基本类型之间的转换就更加轻松便利了。
装箱:把基本类型转换成包装类,使其具有对象的性质,又可分为手动装箱和自动装箱
拆箱:和装箱相反,把包装类对象转换成基本类型的值,又可分为手动拆箱和自动拆箱
实际上基本类型和装箱基本类型之间还有很大的区别的,这些区别容易导致一些麻烦。这些会在以后的博客中详细解释。
Date相关类
Date类,位于java.util包中,用于表示特定的瞬间,可以精确到毫秒。在 JDK 1.1 之前,类 Date 有两个其他的函数。它允许把日期解释为年、月、日、小时、分钟和秒值。它也允许格式化和解析日期字符串。不过,这些函数的 API 不易于实现国际化。从 JDK 1.1 开始,应该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和解析日期字符串。Date 中的相应方法已废弃。
使用 Date 类的默认无参构造方法创建出的对象就代表当前时间,但是显示格式不太友好。所以我们还需要使用java.text包中的SimpleDateFormat类来对日期进行格式化。如可以将日期转换为指定格式的文本,也可将文本转换为日期。
1.使用 format() 方法将日期转换为指定格式的文本
Date date = new Date();
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年mm月dd日 HH小时mm分钟ss秒");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/mm/dd HH/mm/ss");
SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-mm-dd HH-mm-ss");
String toDay1 = sdf1.format(date);
String toDay2 = sdf2.format(date);
String toDay3 = sdf3.format(date);
System.out.println(toDay1);
System.out.println(toDay2);
System.out.println(toDay3);
运行结果
关于日期格式的模式字母定义如下:
2.使用 parse() 方法将文本转换为日期。下面通过一个小例子说明。该例子实现了求2015年5月27日是星期几的功能。
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DataDemo {
public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
try {
Date date = sdf.parse("2015年5月27日");
SimpleDateFormat sdf1 = new SimpleDateFormat("E");
SimpleDateFormat sdf2 = new SimpleDateFormat("w");
SimpleDateFormat sdf3 = new SimpleDateFormat("W");
String week1 = sdf1.format(date);
String week2 = sdf2.format(date);
String week3 = sdf3.format(date);
System.out.println("2015年5月27日是:"+week1);
System.out.println("2015年5月27日是2015年的第"+week2+"个星期");
System.out.println("2015年5月27日是5月的第"+week3+"个星期");
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
运行结果:
3.Calendar 类的应用
由于JDK1.1以后,Date类的一些函数已经不再推荐使用,所以我们应该使用 Calendar类实现日期和时间字段之间转换。Java.util.Calendar 类是一个抽象类,可以通过调用 getInstance() 静态方法获取一个Calendar 对象,此对象已由当前日期时间初始化,即默认代表当前时间,如 Calendar c = Calendar.getInstance();
Math类
Math 类位于 java.lang 包中,包含用于执行基本数学运算的方法, Math 类的所有方法都是静态方法,所以使用该类中的方法时,可以直接使用类名.方法名,如: Math.round();
常用方法如下: