String概述
Java 提供了 String 类来创建和操作字符串,字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象。
String 类在 java.lang 包下,所以使用的时候不需要导包
String 类代表字符串,Java 程序中的所有字符串文字(例如“abc”)都被实现为此类的实例也就是说,Java 程序中所有的双引号字符串,都是 String 类的对象
字符串不可变,它们的值在创建后不能被更改
构造函数
String类有几种构造函数:
public String(): 创建一个空字符串。
public String(char[] chs): 通过字符数组创建字符串。
public String(byte[] byts): 通过字节数组创建字符串(需要指定编码方式)。
String类常用方法
String类提供了多种方法来操作字符串,以下是一些常用的方法:
- char charAt(int index): 返回指定索引处的字符。
- int length(): 返回字符串的长度。
- boolean isEmpty(): 判断字符串是否为空。
- String substring(int beginIndex, int endIndex): 返回从beginIndex到endIndex(不包括endIndex)的子字符串。
- String concat(String str): 将当前字符串与另一个字符串连接起来。
- String replace(CharSequence target, CharSequence replacement): 将字符串中的所有target替换为replacement。
- boolean startsWith(String prefix): 判断字符串是否以指定的前缀开始。
- boolean endsWith(String suffix): 判断字符串是否以指定的后缀结束。
- boolean contains(CharSequence s): 判断字符串是否包含指定的字符序列。
- int indexOf(String str): 返回指定子字符串第一次出现的索引,如果未找到则返回-1。
- String[] split(String regex): 根据给定的正则表达式分割字符串,返回分割后的字符串数组。
- boolean equals(Object anObject): 比较当前字符串与指定对象是否相等。
字符串不可变性
在Java中,字符串是不可变的,这意味着一旦创建,字符串的值不能被修改。每次对字符串进行修改操作时,实际上都是创建了一个新的字符串对象。
字符串拼接
在Java中,可以使用"+"运算符或StringBuilder/StringBuffer类进行字符串的拼接。对于少量的字符串操作,直接使用"+"运算符即可。但对于大量的字符串操作,建议使用StringBuilder或StringBuffer类,因为它们的拼接效率更高。
字符串转换
在Java中,可以使用以下方法将其他类型的数据转换为字符串:
- String.valueOf(Object obj): 将对象转换为字符串。
- String.valueOf(char ch[]): 将字符数组转换为字符串。
- String.valueOf(char ch): 将字符转换为字符串。
字符串比较
在Java中,可以使用以下方法比较字符串:
- equals(Object obj): 比较两个字符串是否相等。
- equalsIgnoreCase(String anotherString): 比较两个字符串是否相等(忽略大小写)。
- regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len): 比较两个字符串的子字符串是否相等。
- compareTo(String anotherString): 按字典顺序比较两个字符串。
字符串格式化
在Java中,可以使用String.format()方法进行字符串格式化。该方法接受一个格式字符串和一组参数,根据指定的格式生成一个新的字符串。
字符串编码
在Java中,可以使用以下方法进行字符串编码:
- getBytes(): 将字符串转换为字节数组。
- getBytes(String charsetName): 将字符串转换为指定编码的字节数组。
String类还提供了很多构造方法和一些摘要方法,具体需要查看API文档!!!