java.lang包-Object、String、StringBuffer和包装类等
一、 Object
1.常用方法
- boolean equals():判断两个对象的内容是否相同
- protected void finalize():释放一个对象的占用的内存空间时,该方法会被JVM调用。如果释放对象时需要执行一些操作,可以在这个方法里写执行代码
- int hashCode():返回该对象的哈希码值。使用哈希码值可以快速判断两个对象是否不相同。两个相同的对象,哈希码值一定相同,两个不同的对象哈希码值,其哈希码值也可能相同
String toString():显示对象内容时会被系统自动调用,当然也可以手动调用进行输出
System.out.println(obj); System.out.println(obj.toString()); // 这两个输出的结果是一样的
- protected Object clone():复制对象。创建一个和当前对象内容完全相同的对象,新的对象有独立的内存空间
- Class
2. 注意要点
- 判断一个对象是否为某个类的对象时使用instance关键字,格式为:对象名 instance of 类名
- equals 和 == 的区别
- ==
- 基本类型:比较值是否相等
- 引用类型:比较地址是否相等
- equals
- 基本类型:比较值是否相等
- 引用类型:默认比较的是地址值,不过可以重写该方法,比较对象的成员变量是否相等,自动生成
- ==
二、Math
2.1 成员变量
- public static final double E:数学符号E的值
- public static final PI:数学符号PI的值
2.2 成员方法
- static int abs(int a):绝对值
- static double ceil(double a):向上取整
- static double floor(double a):向下取整
- static int max(int a, int b):最大值
- static int min(int a, int b):最小值
- static double random():随机数
- static int round(float a):四舍五入
- static double sqrt(double a):正平方根
三、String
- 字符串:由多个字符组成的一串数据
- String一般视为不可变字符串
3.1 常用构造
- public String():空参构造
- public String(Char[] chars):把字符转成字符串
public String(Char[] chars, int index, int length):把自定义的部分字符转成字符串
赋值方式:先到字符串常量池找,如果有则直接返回,没有就在字符串常量池创建并返回
注意
- 字符串变量相加,是先开空间,然后再拼接
- 字符串常量相加,是先拼接,拼接完的整体在常量池找,有就直接返回,没有就在常量池,创建并返回
3.2 常用功能
3.2.1 判断功能
- boolean equals(Object obj):比较字符串内容是否相同,区分大小写
- boolean equalsIgnoreCase(String str):比较字符串内容是否相同,不区分大小写
- boolean contains(String str):判断是否包含
- boolean startsWith(String str):判断字符串是否以某个指定字符串开头
- boolean endsWith(String str):判断字符串是否以某个指定字符串结尾
- boolean isEmpty():判断字符串是否为空
- 注意
- 字符串内容为空:String s = “”;
- 字符串对象为空:String s = null; // 不能调用此对象,不然会报空指针异常
3.2.2 获取功能
- int length():获取字符串长度
- char CharAt(int index):获取指定索引位的字符
- int indexOf(int ch):返回指定字符在此字符串中第一次出现位置的索引
- int indexOf(String str):返回指定字符串在此字符串中第一次出现位置的索引
- int indexOf(int ch, int fromIndex):返回指定字符在此字符串上从指定位置到第一次出现的索引
- String subString(int start):从指定位置开始截取字符串
String substring(int start, int end):从start位置到end位置截取字符串。(包前不包后)
遍历字符串
for(int x = 0; x < s.length(); x ++){ System.out.print(s.CharAt(x)); }
3.2.3 转换功能
- byte[] getBytes():把字符串转换为字符数组
- Static String valueOf(Char[] chs):把字符数组转成字符串
- String toLowerCase():转换成小写
- String toUpperCase():转换成大写
- String concat():字符串拼接
3.2.4 其他功能
- 替换
- String replace(Char old, Char new);
- String replace(String old, String new);
- 去除字符串两端空格
- String trim();
四、StringBuffer
4.1 构造方法
- public StringBuffer(){}
- public StringBuffer(int capacity){} // 指定容量
- public StringBuffer(String){} // 指定内容,可以用这种方式将String转换为StringBuffer
4.2 常用功能
4.2.1 添加功能
- StringBuffer append(String str):可以把任意类型添加到字符串缓冲区里,并返回这个缓冲区
- StringBuffer insert(int offset, String str):在指定位置把str插入缓冲区
4.2.2 删除功能
- StringBuffer deleteCharAt(int index):删除指定位置字符
- StringBuffer delete(int start, int end):删除指定位置开始和结束的内容,返回本身
4.2.3 替换功能
- StringBuffer replace(int start, int end , String str):替换指定位置的字符串
4.2.4 反转功能
- StringBuffer reverse():将字符串缓冲区反转
4.2.5 截取功能
- String substring(int start);
- String substring(int start, int end );
- 返回的是经截取的字符串,缓冲区本身没有变化
4.2.6 获取长度
int capacity():返回当前容量。理论值
int length():返回长度(字符数)。实际值
五、System
5.1 成员变量
- System.in:标准输入流,键盘输入
- System.out:标准输出流,显示器
- System.err:标准错误输出流,显示器
5.2 成员方法
- long curretTimeMillis():返回当前计算机时间
- void exit(int status):退出程序,status为0表示正常退出,非0表示异常退出
- void gc():请求系统进行垃圾回收
- String getProperty(String key):获取系统中属性名为key对象的属性值。
六、包装类
- 由于Java是一门面向对象的语言,但是Java中的基本数据类型却不是面向对象的,所以分别给他们设计了对应的类,这些与基本数据类型对应的类称为包装类。
6.1 包装类对应表
6.2 Integer
6.2.1 实现int和Integer之间的转换
使用Integer的intValue方法进行转换
int n = 10; // 将int转换为Integer Integer itg = new Integer(n); // 将Integer类型转换为int int m = itg.intValue();
6.2.2 常用方法
static int parseInt(String s):将数字字符串转换为int类型
String s = "123"; int n Integer.parseInt(s);
- String toString(int i):将int类型数据转换成String类型