Java的特殊类String类详解
1. 实例化String对象
1.1 通过构造方法public String(String original){}
1.2 采用直接赋值的方法进行实例化
1.3 推荐使用直接赋值的方式实例化String类对象,当String使用直接赋值的方式以后,只要是以后声明的字符串内容相同,都不会在开辟新的内存空间(Java中提供有字符串池)。而通过new关键字进行赋值还会开辟新的内存空间,造成空间浪费。
2. 字符串的内容一旦赋值即不可改变,采用重新赋值的方式仅仅是重新开辟一段堆内存空间使变量值指向它。
3. String类中的常用方法
序号 | 方法定义 | 类型 | 描述 |
---|---|---|---|
1 | public String(char[] value) | 构造 | 直接将一个字符数组变为一个字符串 |
2 | public String(char[] value,int offset, int count) | 构造 | 将一个指定范围的字符数组变为字符串 |
3 | public String(byte[] bytes) | 构造 | 将一个byte数组全部变为字符串 |
4 | public String(byte[] bytes, int offset, int count) | 构造 | 将指定范围的byte数组变为字符串 |
5 | public char[] toCharArray() | 普通 | 将一个字符串变为字符数组 |
6 | public char charAt(int index) | 普通 | 从一个字符串中取出指定位置的字符 |
7 | public byte[] getBytes() | 普通 | 将一个字符串变为byte数组 |
8 | public int length() | 普通 | 取得字符串长度 |
9 | public int indexOf(String str) | 普通 | 从头开始查找指定字符串的位置,找不到返回-1 |
10 | public int indexOf(String str, int fromIndex) | 普通 | 从指定位置开始查找指定的字符串位置 |
11 | public String trim() | 普通 | 清除左右两端的空格 |
12 | public String subString(int beginIndex) | 普通 | 从指定置为开始,一直取到尾进行字符串的截取 |
13 | public String subString(int beginIndex, int end) | 普通 | 指定截取字符串的开始点和结束点 |
14 | public String[] split(String regex) | 普通 | 按照指定的字符串对字符串进行拆分(*) |
15 | public String toUpperCase() | 普通 | 将一个字符串全部变为大写字母 |
16 | public String toLowerCase() | 普通 | 将一个字符串全部变为小写字母 |
17 | public boolean startsWith(String prefix) | 普通 | 判断是否以指定的字符串开头 |
18 | public boolean endsWith(String suffix) | 普通 | 判断是否以指定的字符串结尾 |
19 | public boolean equals(String str) | 普通 | 判断两个字符串的内容是否相等 |
20 | public boolean equalsIgnoreCase(String str) | 普通 | 不区分大小写比较两个字符串是否相等 |
21 | public String replaceAll(String regex, String replacement) | 普通 | 字符串替换(*) |
注: split()和replaceAll()方法是String对正则表达式的支持。