Java SE入门(十三)——高级API
iwehdio的博客园:https://www.cnblogs.com/iwehdio/
1.、Object类
是类层次结构的根类,每个类都使用Object作为超类
- 任何类都默认继承了Object类。
getClass()返回一个字节码对象。String toString()方法:- 返回对象的字符串表示。
- 输出一个对象就是默认输出这个对象的 toString() 方法。
- 输出格式: 包名 . 类名 @ 对象的十六进制内存地址。
- 一般要重写更有意义的 toString() 方法。
- Eclipse快速生成 toString() 方法:右键 > Source > Generate toString()。
boolean equals(Object obj)方法:- 使用 == 来比较两个对象是否相等。基本类型比较值,引用类型比较地址。
- 一般要重写更有意义的 equals() 方法。比如字符串类重写的 equals 方法。
- 通过比较传入参数是否与对象是同一个类下的对象
if(this.getClass()==o.getClass())。 - Eclipse快速生成 equals() 方法:右键 > Source > Generate equals() 。
2、System类
包含一些有用的类字段(静态修饰的成员变量)和方法,不能被实例化
static void arraycopy(Object src,int srcPos,Object dest,int desPos,int length):复制数组。传入参数(源数组,源数组起始索引位置,目标数组,目标数组的起始索引位置,复制的数组长度)。static long currentTimeMillis():以毫秒值返回当前系统时间。基于1970-1-1。static void exit(int status):终止正在运行的Java虚拟机。一般0表示正常终止,非0表示异常终止。static void gc():运行垃圾回收器。
3、Date类
表示特定的瞬间,精确到毫秒。可以通过方法设定系统表示的时间。
- 构造方法:
Data():创建一个表示当前系统时间的Date对象。Date(long dat):根据指定时间(毫秒值)创建Date对象。
- 用构造方法实例化对象,然后直接输出。
long getTime():获取毫秒值时间。void setTime(long time):按毫秒值设置时间。
4、DateFormat类
格式化日期,是一个抽象类。有子类具体类SimpleDateFormat。
-
构造方法:
SimpleDateFormat():默认模式。SimpleDateFormat(String pattern):指定模式。
-
String format(Date data):格式化 -
Date parse(String source):解析。解析的格式要与构造的格式一致。 -
例:
SimpleDateFormat sdf = new SimpleDateFormat(); /*一种指定格式 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); */ Date d = new Date(); String s = sdf.format(d); System.out.println(s);
5、Calender类
是一个抽象类,转换或操作日历对象(年月日时)。
-
static Calender getInstance():获得日历。 -
int get(int field):返回给定日历字段的值。Calendar c = Calender.getInstance(); int year = c.get(Calender.TEAR); int month = c.get(Calender.MONTH) + 1; //月份从0开始 -
void set(int field,int value):把指定字段修改成指定的值。 -
void add(int field,int amount):在指定字段上加指定的值。
6、Arrays、Math工具类
Arrays工具类
是一个与数组相关的工具类,提供静态方法实现数组的常用操作。
public static String toString(数组):将参数数组变为字符串。public static void sort(数组):安装默认升序对数组元素排序。如果如果是字符串按照字符升序,如果是自定义类型,需要有Comparable或Comparator接口。
Math工具类
public static double abs(double num):获取绝对值。public static double ceil(double num):向上取整。public static double floor(double num):向下取整。public static long round(double):四舍五入。Math.PI:π值。
7、包装类
封装了基本数据类型的类,提供了更多复杂方法和变量
-
基本数据类型对应的包装类:
基本数据类型 包装类 byte Byte short Short char Character int Integer long Long float Float double Double boolean Boolean -
Integer类:
- 构造方法:
Integer(int value)Integer(String s)
int intValue():返回 int 类型的Integer对象。static int parseInt(String s):String 转 int,无需创建对象(静态)。String toString():返回 String 类型的Integer对象。static String toString(int i):int 转 String,无需创建对象(静态)。
- 构造方法:
-
装箱:基本数据类型转化为包装类;拆箱:包装类转化为基本护甲类型。
-
自动装箱:
Integer i = value。- 例
integer i = 10;相当于Integer i = new Integer(10);。
- 例
-
自动拆箱:
int a = i;- 例
integer i = 10;int a = i;。相当于int a = i.intValue();。
- 例
-
自动装箱与拆箱,例:
-
解决原本引用数据类型不能直接相加:
Integer i1 = 10; Integer i2 = 20; Integer i3 = i1 + i2; -
解决 ArrayList 集合中的元素必须为对象:
ArrayList list = new ArrayList(); //自动装箱,相当于list.add(new Integer(1)); list.add(1);
-
8、正则表达式
一套用于匹配字符串的规则
-
boolean matches(String regex):判断当前字符串是否匹配指定的正则表达式(String类)。 -
常用正则表达式:
| 正则表达式 | 含义 |
|---|---|
| x | 字符x |
| \ | 反斜线字符 |
| [abc] | a或b或c |
| [^abc] | 任何字符除了a或b或c |
| [a-zA-Z] | a到z或A到Z(两端都包括) |
| x? | 一次或一次也没有 |
| x* | 零次或多次 |
| x+ | 一次或多次 |
| x | 恰好n次 |
| x | 至少n次 |
| x | 至少n次不超过m次 |
-
例:匹配5~15位的数字,第一个数字不能为0
String s = "123456789"; boolean flag = s.mathcs("[1-9][0-9]{4,14}");
iwehdio的博客园:https://www.cnblogs.com/iwehdio/
来源与结束于否定之否定。

浙公网安备 33010602011771号