Java常用类——String
Java常用类——String
String的特性
- final类,表示不可变的字符序列
- 字符串是常量,创建后不可更改
- ==比较地址值,.equals()比较字符串值
String不可变性
方法区的字符串常量值不会变,体现在:
- 当对字符串重新赋值时,需要重新制定内存区域赋值,不能修改原有的value
- 当对字符串进行连接操作时,也需重新制定内存区域赋值
- 当调用String的replace方法时,也需重新制定内存区域赋值
String的实例化方式
- 通过字面量定义
String s1 = "abc";
此时"abc"在常量池中,s1指向常量池中的地址。
- 通过new+构造器的方式
String s2 = new String("abc");
此时"abc"在常亮池中,s2.value在堆内存中,s2指向堆内存的地址
IDEA中,Alt+Shift+S实现构造器
String常用方法
-
int length()
-
char charAt(int index)
-
boolean isEmpty()
-
String toLowerCase()
-
String toUpperCase()
-
String trim():返回字符串副本,忽略前后空格
-
boolean equals(Object obj)
-
boolean equalsIgnoreCase(String anotherString)
-
int compareTo(String anotherString):比到不一样的位置,原字符串减参数字符串
-
String substring(int beginIndex):取子串
-
String substrng(int beginIndex, int endIndex)
-
boolean endsWith(String suffix)
-
boolean startsWith(String prefix)
-
boolean startsWith(String prefix, int toffset)
boolean contains(CharSequence s)
-
int indexOf(String str):未找到返回-1,下同
-
int indexOf(String str, int fromIndex)
-
int lastIndexOf(String str)
-
int lastIndexOf(String str, int fromIndex)
-
String replace(char oldChar, char newChar)
-
String replace(CharSequence target, CharSequence replacement)
-
String replaceAll(String regex, String replacement):匹配正则表达式
-
String replaceFirst(String regex, String replacement)
-
boolean matches(String regex)
-
String[] split(String regex)
-
String[] split(String regex, int limit): 子串数超过limit,剩下都放一起
String与其他类型转换
String与基本数据类型转换
String转基本数据类型
例如Integer中的
public static int parseInt(String s)
其他Byte、Short、Long、Float、Double都有对应
基本数据类型转String
例如String类中的
public String valueOf(int n)
其他byte、long、float、double、boolean同理
String与char数组转换
char数组转String
调用构造器:
- String(char[])
- String(char[], int offset, int length)
String转char数组
- public char[] toCharArray()
- public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
String与byte数组转换
byte数组转String
调用构造器,同char,也可指定解码集
String转byte
- public byte[] getBytes()
- public byte[] getBytes(String charsetName)