Object、包装类、数学处理类的常用方法
一、String类
String类由final关键字修饰,表示该类不能被继承。
从jdk1.9开始该类的底层不使用char[]来存储数据,而是改成 byte[]加上编码标记,从而节约了一些空间。
常量池
由于String类型描述的字符串内容是常量不可改变,因此Java虚拟机将首次出现的字符串放入常量池中,若后续代码中出现了相同字符串内容则直接使用池中已有的字符串对象而无需申请内存及创建对象,从而提高了性能。
常用的构造方法
方法声明 | 功能介绍 |
---|---|
String() | 使用无参方式构造对象得到空字符序列 |
String(char[] value) | 使用value数组中的所有内容构造对象 |
String(char[] value, int offset, int count) | 使用value数组中下标从offset位置开始的count个字符来构造对象 |
String(byte[] bytes) | 使用bytes数组中的所有内容构造对象 |
String(byte[] bytes, int offset, int length) | 使用bytes数组中下标从offset位置开始的length个字节来构造对象 |
String(String original) | 根据参数指定的字符串内容来构造对象,新创建对象为参数对象的副本 |
常用的成员方法
indexOf 字符串中字符出现的位置或该位置的字符串
substring 获取字符串子串
toCharArray 字符串转换为char数组
split 字符串分割
关于查找
方法声明 | 功能介绍 |
---|---|
char[] toCharArray() | 将当前字符串内容转换为char数组并返回 |
char charAt(int index) | 返回字符串指定位置的字符。 |
byte[] getBytes() | 将当前字符串内容转换为byte数组并返回 |
关于比较
方法声明 | 功能介绍 |
---|---|
int compareTo(String anotherString) | 用于比较调用对象和参数对象的大小关系 |
int compareToIgnoreCase(String str) | 不考虑大小写,也就是’a’和’A’是相等的关系 |
boolean equalsIgnoreCase(String anotherString) | 用于比较字符串内容是否相等并返回,不考虑大小写,如:'A’和’a’是相等 |
关于字符串转换
正则表达式相关的方法
二、 StringBuffer和StringBuilder
StringBuffer类是从jdk1.0开始存在,属于线程安全的类,因此效率比较低。
StringBuilder类是从jdk1.5开始存在,属于非线程安全的类,效率比较高。
StringBuilder类常用的成员方法
StringBuilder的很多方法的返回值均为StringBuilder类型。这些方法的返回语句均为:return this。
由此可见,这些方法在对StringBuilder所封装的字符序列进行改变后又返回了该对象的引用。基于这样设计的目的在于可以连续调用。