好程序员Java教程分享Java之包装类与常用类,首先来讲一下包装类
基本数据类型(值类型):byte, short, int, long, float, double, char, boolean
包装类:将基本数据类型,用一个类进行了一层包装,可以按照引用类型进行使用。同时还提供了若干用来进行数据转换的操作。
包装类按照基本数据类型的包装功能,分为八种:
| 基本数据类型 |
包装类型 |
| byte |
Byte |
| short |
Short |
| int |
Integer |
| long |
Long |
| float |
Float |
| double |
Double |
| boolean |
Boolean |
| char |
Character |
数据的装箱与拆箱:
装箱:由基本数据类型,转型为包装类型
int a = 10;
// 通过构造方法进行装箱
Integer i1 = new Integer(a);
// 通过valueOf方法进行装箱
Integer i2 = Integer.valueOf(a);
拆箱:由包装类型,转型为基本数据类型
Integer i = new Integer(10);
int a = i.intValue();
在jdk1.5之后,装箱与拆箱都是自动完成的。
Integer a = 10;
int b = new Integer(10);
基本数据类型与字符串类型之间的相互转换:
基本数据类型转字符串:
String s1 = a + "";
String s2 = String.valueOf(a);
String s3 = Integer.valueOf(a).toString();
字符串类型转型基本数据类型:
int b = Integer.valueOf("123");
int c = Integer.parseInt("123");
常用类
Math类
给我们提供了若干的数学计算方法
详见API
Random类
关于随机数的生成:
随机数的生成,是由一个随机种子,带入到一个固定的随机数算法中,生成一个数字序列。
如果随机种子相同,产生的随机数列也相同。
BigInteger / BigDecimal 类
用来处理非常大的数字的基本运算
Date / SimpleDateFormat 类
Date: 是用来表示一个时间、日期的类
| 常用方法 |
描述 |
| Date() |
获取当前时间 |
| Date(long time) |
获取指定时间戳对应的时间 |
| void setTime(long time) |
使用指定时间戳设置一个日期对象 |
| long getTime() |
获取一个指定日期对象的时间戳 |
| equals(Object obj) |
判断是否与另外一个日期相同 |
| boolean before(Date other) |
判断是否在另外一个日期之前 |
| boolean after(Date other) |
判断是否在另外一个日期之后 |
SimpleDateFormat: 是一个用来格式化日期的类
1. 可以将一个Date格式化为指定格式的字符串
2. 可以将一个自定格式的字符串解析为一个Date
yyyy: 年
yy: 年(短)
MM: 月
dd: 日
HH: 时(24小时制)
hh: 时(12小时制)
mm: 分
ss: 秒
| 常用方法 |
描述 |
| SimpleDateFormat(String pattern) |
使用指定的格式来实例化一个对象 |
| String format(Date date) |
将一个日期格式化为指定的字符串 |
| Date parse(String str) |
将一个指定格式的字符串解析为一个日期 |
Calendar类
是一个用来操作日期的类。提供了若干个对一个日期进行操作的方法。
常用静态常量,用来描述一些字段
YEAR: 年
MONTH: 月(注意:月份从0开始)
DAY_OF_MONTH: 日
HOUR: 时(12小时制)
HOUR_OF_DAY: 时(24小时制)
MINUTE: 分
SECOND: 秒
| 方法 |
描述 |
| getInstance() |
获取一个当前日期的Calenadar对象 |
| get(int filed) |
获取指定ID的值 |
| set(int field, int value) |
设置指定ID的值 |
| set(int year, int month, int date) |
设置年、月、日 |
| set(int year, int month, int date, int hourOfDay, int minute, int day) |
设置年、月、日、时、分、秒 |
| add(int filed, int amount) |
对某个id的值进行增(如果想减,将值修改成负数即可) |
| setTime(Date date) |
通过一个Date对象,对一个日期进行赋值 |
| getTime() |
通过一个日期对象,获取一个Date对象 |
| boolean before(Object other) |
判断是否在另外一个日期之前 |
| boolean after(Object other) |
判断是否在另外一个日期之后 |
| boolean equals(Object other) |
判断是否和另外一个日期相同 |
枚举
是jdk1.5之后新增的特性
是一种数据类型。class、interface, 是用关键字enum来修饰
[访问权限修饰符] enum 枚举名字 {
枚举中的元素
}
枚举一般情况下是用来描述一些取值范围有限的数据。例如:星期几