1、string
String
类代表字符串。Java 程序中的所有字符串字面值(如 "abc"
)都作为此类的实例实现。 字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为 String 对象是不可变的,所以可以共享。例如:
String str = "abc";
等效于:
char data[] = {'a', 'b', 'c'};
String str = new String(data);
下面给出了一些如何使用字符串的更多示例:
System.out.println("abc");
String cde = "cde";
System.out.println("abc" + cde);
String c = "abc".substring(2,3);
String d = cde.substring(1, 2);
String
类包括的方法可用于检查序列的单个字符、比较字符串、搜索字符串、提取子字符串、创建字符串副本并将所有字符全部转换为大写或小写。大小写映射基于Character
类指定的 Unicode 标准版。
Java 语言提供对字符串串联符号("+")以及将其他对象转换为字符串的特殊支持。字符串串联是通过StringBuilder
(或StringBuffer
)类及其append
方法实现的。字符串转换是通过toString
方法实现的,该方法由Object
类定义,并可被 Java 中的所有类继承。有关字符串串联和转换的更多信息,请参阅 Gosling、Joy 和 Steele 合著的The Java Language Specification。
除非另行说明,否则将 null 参数传递给此类中的构造方法或方法将抛出NullPointerException
。
String
表示一个 UTF-16 格式的字符串,其中的增补字符 由代理项对 表示(有关详细信息,请参阅Character
类中的Unicode 字符表示形式)。索引值是指char
代码单元,因此增补字符在String
中占用两个位置。
String
类提供处理 Unicode 代码点(即字符)和 Unicode 代码单元(即char
值)的方法。
2、String的方法
方法摘要 | |
---|---|
char | charAt(int index) 返回指定索引处的 char 值。 |
int | codePointAt(int index) 返回指定索引处的字符(Unicode 代码点)。注:小标从0开始 |
int | codePointBefore(int index) 返回指定索引之前的字符(Unicode 代码点)。注:小标从1开始 |
int | codePointCount(int beginIndex, int endIndex) 返回此 String 的指定文本范围中的 Unicode 代码点数。 |
int | compareTo(String anotherString) 按字典顺序比较两个字符串。 |
int | compareToIgnoreCase(String str) 按字典顺序比较两个字符串,不考虑大小写。 |
String | concat(String str) 将指定字符串连接到此字符串的结尾。 |
boolean | contains(CharSequence s) 注:str.contains(str) 当且仅当此字符串包含指定的 char 值序列时,返回 true。 |
boolean | contentEquals(CharSequence cs) 将此字符串与指定的 CharSequence 比较。 |
boolean | contentEquals(StringBuffer sb) 将此字符串与指定的 StringBuffer 比较。 |
staticString | copyValueOf(char[] data) 返回指定数组中表示该字符序列的 String。 |
staticString | copyValueOf(char[] data, int offset, int count) 返回指定数组中表示该字符序列的 String。 |
boolean | endsWith(String suffix) 测试此字符串是否以指定的后缀结束。 |
boolean | equals(Object anObject) 将此字符串与指定的对象比较。 |
boolean | equalsIgnoreCase(String anotherString) 将此 String 与另一个 String 比较,不考虑大小写。 |
staticString | format(Locale l, String format,Object... args) 使用指定的语言环境、格式字符串和参数返回一个格式化字符串。 |
staticString | format(String format, Object... args) 使用指定的格式字符串和参数返回一个格式化字符串。 |
byte[] | getBytes() 使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。 |
byte[] | getBytes(Charset charset) 使用给定的 charset 将此 String 编码到 byte 序列,并将结果存储到新的 byte 数组。 |
void | getBytes(int srcBegin, int srcEnd, byte[] dst, int dstBegin) 已过时。 该方法无法将字符正确转换为字节。从 JDK 1.1 起,完成该转换的首选方法是通过 getBytes() 方法,该方法使用平台的默认字符集。 |
byte[] | getBytes(String charsetName) 使用指定的字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。 |
void | getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) 将字符从此字符串复制到目标字符数组。 |
int | hashCode() 返回此字符串的哈希码。 |
int | indexOf(int ch) 返回指定字符在此字符串中第一次出现处的索引。 |
int | indexOf(int ch, int fromIndex) 返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。 |
int | indexOf(String str) 返回指定子字符串在此字符串中第一次出现处的索引。 |
int | indexOf(String str, int fromIndex) 返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。 |
String | intern() 返回字符串对象的规范化表示形式。 |
boolean | isEmpty() 当且仅当 length() 为0 时返回true。 |
int | lastIndexOf(int ch) 返回指定字符在此字符串中最后一次出现处的索引。 |
int | lastIndexOf(int ch, int fromIndex) 返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索。 |
int | lastIndexOf(String str) 返回指定子字符串在此字符串中最右边出现处的索引。 |
int | lastIndexOf(String str, int fromIndex) 返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索。 |
int | length() 返回此字符串的长度。 |
boolean | matches(String regex) 告知此字符串是否匹配给定的正则表达式。 |
int | offsetByCodePoints(int index, int codePointOffset) 返回此 String 中从给定的 index 处偏移codePointOffset 个代码点的索引。 |
boolean | regionMatches(boolean ignoreCase, int toffset,String other, int ooffset, int len) 测试两个字符串区域是否相等。 |
boolean | regionMatches(int toffset,String other, int ooffset, int len) 测试两个字符串区域是否相等。 |
String | replace(char oldChar, char newChar) 返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。 |
String | replace(CharSequence target, CharSequence replacement) 使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。 |
String | replaceAll(String regex, String replacement) 使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。 |
String | replaceFirst(String regex, String replacement) 使用给定的 replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。 |
String[] | split(String regex) 根据给定正则表达式的匹配拆分此字符串。 |
String[] | split(String regex, int limit) 根据匹配给定的正则表达式来拆分此字符串。 |
boolean | startsWith(String prefix) 测试此字符串是否以指定的前缀开始。 |
boolean | startsWith(String prefix, int toffset) 测试此字符串从指定索引开始的子字符串是否以指定前缀开始。 |
CharSequence | subSequence(int beginIndex, int endIndex) 返回一个新的字符序列,它是此序列的一个子序列。 |
String | substring(int beginIndex) 返回一个新的字符串,它是此字符串的一个子字符串。 |
String | substring(int beginIndex, int endIndex) 返回一个新字符串,它是此字符串的一个子字符串。 |
char[] | toCharArray() 将此字符串转换为一个新的字符数组。 |
String | toLowerCase() 使用默认语言环境的规则将此 String 中的所有字符都转换为小写。 |
String | toLowerCase(Locale locale) 使用给定 Locale 的规则将此 String 中的所有字符都转换为小写。 |
String | toString() 返回此对象本身(它已经是一个字符串!)。 |
String | toUpperCase() 使用默认语言环境的规则将此 String 中的所有字符都转换为大写。 |
String | toUpperCase(Locale locale) 使用给定 Locale 的规则将此 String 中的所有字符都转换为大写。 |
String | trim() 返回字符串的副本,忽略前导空白和尾部空白。 |
staticString | valueOf(boolean b) 返回 boolean 参数的字符串表示形式。 |
staticString | valueOf(char c) 返回 char 参数的字符串表示形式。 |
staticString | valueOf(char[] data) 返回 char 数组参数的字符串表示形式。 |
staticString | valueOf(char[] data, int offset, int count) 返回 char 数组参数的特定子数组的字符串表示形式。 |
staticString | valueOf(double d) 返回 double 参数的字符串表示形式。 |
staticString | valueOf(float f) 返回 float 参数的字符串表示形式。 |
staticString | valueOf(int i) 返回 int 参数的字符串表示形式。 |
staticString | valueOf(long l) 返回 long 参数的字符串表示形式。 |
staticString | valueOf(Object obj) 返回 Object 参数的字符串表示形式。 |
3、常用方法实例
package studys;
public class Czy {
public final static String STR = "WERTabds";
public final static String STR2 = " WERTabdc SFG ";
public final static char DATA[] = {'k','h'};
public final static String data1 = new String(DATA);
public static void main(String[] args) {
System.out.println("返回指定索引处的 char 值:"+ STR.substring(1,3));
System.out.println("返回指定索引处的 char 值:"+ STR.charAt(2));
System.out.println("指定索引之前的字符(Unicode 代码点):"+ STR.codePointAt(0));
System.out.println("指定索引之前的字符(Unicode 代码点):"+ STR.codePointBefore(1));
System.out.println("将指定字符串连接到此字符串的结尾:"+ STR.concat(data1));
System.out.println(" 当且仅当此字符串包含指定的 char 值序列时,返回 true:"+ STR.contains(STR));
System.out.println("返回此字符串的哈希码:"+ STR.hashCode());
System.out.println("转换成小写:"+ STR.toLowerCase());
System.out.println("转换成大写:"+ STR.toUpperCase());
System.out.println("忽略前导空白和尾部空白:"+ STR2.trim());
}
}
注:以上资料来自JDK API 1.6