Java基础之常用类详解

时间:2022-11-14 23:27:26

Java中有很多常用类,这些是我们必须要掌握的,下面对这些常用类及其常用方法进行总结并保持更新。

包装类

我们都知道,Java中有一个系统类型由两部分组成,包含基本类型(primitive),例如int、float、double等,和引用类型(reference type),如String和List。而基本数据类型是不具备对象特征的,每个基本类型都有一个对应的引用类型,称作是装箱基本类型(boxed primitive)包装类。而基本类与包装类的关系如下表:

Java基础之常用类详解

包装类主要提供了两大类方法:
1. 将本类型和其他基本类型进行转换的方法
2. 将字符串和本类型及包装类互相转换的方法

以Integer为例(其他包装类类似)说明这两种转换:

Java基础之常用类详解

而自从JDK1.5以后Java中引入了自动拆箱装箱的机制,包装类和基本类型之间的转换就更加轻松便利了。

装箱:把基本类型转换成包装类,使其具有对象的性质,又可分为手动装箱和自动装箱

拆箱:和装箱相反,把包装类对象转换成基本类型的值,又可分为手动拆箱和自动拆箱

Java基础之常用类详解

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);

运行结果
Java基础之常用类详解

关于日期格式的模式字母定义如下:

Java基础之常用类详解

Java基础之常用类详解

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();
}
}

}

运行结果:
Java基础之常用类详解

3.Calendar 类的应用

由于JDK1.1以后,Date类的一些函数已经不再推荐使用,所以我们应该使用 Calendar类实现日期和时间字段之间转换。Java.util.Calendar 类是一个抽象类,可以通过调用 getInstance() 静态方法获取一个Calendar 对象,此对象已由当前日期时间初始化,即默认代表当前时间,如 Calendar c = Calendar.getInstance();

Java基础之常用类详解

Java基础之常用类详解

Math类

Math 类位于 java.lang 包中,包含用于执行基本数学运算的方法, Math 类的所有方法都是静态方法,所以使用该类中的方法时,可以直接使用类名.方法名,如: Math.round();

常用方法如下:

Java基础之常用类详解