String 类表示字符串。 Java程序中的所有字符串文字(例如"abc" )都实现为此类的实例。
String 创建的字符串存储在常量池中(只有一个,再有相同的值会直接引用),而 new 创建的字符串对象在堆上(每new一个都是新的一块区域):
String s1 = "abc"; // String 直接创建 String 2 = new String("abc"); // String 对象创建
Java语言为字符串连接运算符(+)提供特殊支持,并为其他对象转换为字符串。如:
String str = "abc";
str = str + "111" + "222";
但是,并不推荐此种方法,因为每操作一次就会创建一个新的对象,最后操作几次就会有几个无用对象,消耗内存。
一般需要叠加字符串的操作,都使用StringBuffer或StringBuilder类
方法:
常用:isEmpty\isBlank判空、equals相等、replace替换、split\substring切割、trim删除前后空格
| 变量和类型 | 方法 | 描述 |
|---|---|---|
char |
charAt(int index) |
返回指定索引处的
char值。 |
IntStream |
chars() |
返回
int的流,将此序列中的 char值零扩展。 |
int |
codePointAt(int index) |
返回指定索引处的字符(Unicode代码点)。
|
int |
codePointBefore(int index) |
返回指定索引之前的字符(Unicode代码点)。
|
int |
codePointCount(int beginIndex, int endIndex) |
返回此
String的指定文本范围内的Unicode代码点数。 |
IntStream |
codePoints() |
返回此序列中的代码点值流。
|
int |
compareTo(String anotherString) |
按字典顺序比较两个字符串。
|
int |
compareToIgnoreCase(String str) |
按字典顺序比较两个字符串,忽略大小写差异。
|
String |
concat(String str) |
将指定的字符串连接到此字符串的末尾。
|
boolean |
contains(CharSequence s) |
当且仅当此字符串包含指定的char值序列时,才返回true。
|
boolean |
contentEquals(CharSequence cs) |
将此字符串与指定的
CharSequence 。 |
boolean |
contentEquals(StringBuffer sb) |
将此字符串与指定的
StringBuffer 。 |
static String |
copyValueOf(char[] data) |
相当于
valueOf(char[]) 。 |
static String |
copyValueOf(char[] data, int offset, int count) |
|
boolean |
endsWith(String suffix) |
测试此字符串是否以指定的后缀结尾。
|
boolean |
equals(Object anObject) |
将此字符串与指定的对象进行比较。
|
boolean |
equalsIgnoreCase(String anotherString) |
将此
String与另一个 String比较,忽略了大小写。 |
static String |
format(String format, Object... args) |
使用指定的格式字符串和参数返回格式化字符串。
|
static String |
format(Locale l, String format, Object... args) |
使用指定的语言环境,格式字符串和参数返回格式化的字符串。
|
byte[] |
getBytes() |
使用平台的默认字符集将此
String编码为字节序列,将结果存储到新的字节数组中。 |
void |
getBytes(int srcBegin, int srcEnd, byte[] dst, int dstBegin) |
已过时。
此方法无法将字符正确转换为字节。
|
byte[] |
getBytes(String charsetName) |
使用命名的字符集将此
String编码为字节序列,将结果存储到新的字节数组中。 |
byte[] |
getBytes(Charset charset) |
使用给定的charset将此
String编码为字节序列,将结果存储到新的字节数组中。 |
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 |
isBlank() |
|
boolean |
isEmpty() |
|
static String |
join(CharSequence delimiter, CharSequence... elements) |
返回由
CharSequence elements的副本组成的新String,该副本与指定的 delimiter的副本连接在一起。 |
static String |
join(CharSequence delimiter, Iterable<? extends CharSequence> elements) |
返回由
String的副本组成的新 String ,其中 CharSequence elements指定的 delimiter的副本。 |
int |
lastIndexOf(int ch) |
返回指定字符最后一次出现的字符串中的索引。
|
int |
lastIndexOf(int ch, int fromIndex) |
返回指定字符最后一次出现的字符串中的索引,从指定的索引开始向后搜索。
|
int |
lastIndexOf(String str) |
返回指定子字符串最后一次出现的字符串中的索引。
|
int |
lastIndexOf(String str, int fromIndex) |
返回指定子字符串最后一次出现的字符串中的索引,从指定索引开始向后搜索。
|
int |
length() |
返回此字符串的长度。
|
Stream<String> |
lines() |
返回从此字符串中提取的行的流,由行终止符分隔。
|
boolean |
matches(String regex) |
判断此字符串是否与给定的 regular expression匹配。
|
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 |
repeat(int count) |
返回一个字符串,其值为此字符串的串联重复
count次。 |
String |
replace(char oldChar, char newChar) |
返回从替换所有出现的导致一个字符串
oldChar在此字符串 newChar 。 |
String |
replace(CharSequence target, CharSequence replacement) |
将此字符串中与文字目标序列匹配的每个子字符串替换为指定的文字替换序列。
|
String |
replaceAll(String regex, String replacement) |
将给定替换的给定 regular expression匹配的此字符串的每个子字符串替换。
|
String |
replaceFirst(String regex, String replacement) |
将给定替换的给定 regular expression匹配的此字符串的第一个子字符串替换。
|
String[] |
split(String regex) |
将此字符串拆分为给定 regular expression的匹配 项 。
|
String[] |
split(String regex, int limit) |
将此字符串拆分为给定 regular expression的匹配 项 。
|
boolean |
startsWith(String prefix) |
测试此字符串是否以指定的前缀开头。
|
boolean |
startsWith(String prefix, int toffset) |
测试从指定索引开始的此字符串的子字符串是否以指定的前缀开头。
|
String |
strip() |
返回一个字符串,其值为此字符串,并删除了所有前导和尾随
white space 。 |
String |
stripLeading() |
返回一个字符串,其值为此字符串,并删除了所有前导
white space 。 |
String |
stripTrailing() |
返回一个字符串,其值为此字符串,并删除所有尾随
white space 。 |
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所有字符转换为 Locale 。 |
String |
toString() |
这个对象(已经是一个字符串!)
|
String |
toUpperCase() |
使用默认语言环境的规则将此
String所有字符转换为大写。 |
String |
toUpperCase(Locale locale) |
使用给定
Locale的规则将此 String所有字符转换为大写。 |
String |
trim() |
返回一个字符串,其值为此字符串,删除了所有前导和尾随空格,其中space被定义为其代码点小于或等于
'U+0020' (空格字符)的任何字符。 |
static String |
valueOf(Object obj) |
返回
Object参数的字符串表示形式。 |
StringBuffer
线程安全(使用同步锁,字符串缓冲区可供多个线程使用),可变的字符序列。 字符串缓冲区类似于String ,但可以进行修改。 在任何时间点它都包含一些特定的字符序列,但序列的长度和内容可以通过某些方法调用来改变。
最常使用其append追加方法,拼接字符串,使用toSting()输出字符串。
| 变量和类型 | 方法 | 描述 |
|---|---|---|
StringBuffer |
append(Object obj) |
追加
Object参数的字符串表示形式。 |
StringBuffer |
appendCodePoint(int codePoint) |
将
codePoint参数的字符串表示形式追加到此序列。 |
int |
capacity() |
返回当前容量。
|
char |
charAt(int index) |
返回指定索引处的此序列中的
char值。 |
IntStream |
chars() |
返回
int的流,对此序列中的 char值进行零扩展。 |
int |
compareTo(StringBuffer another) |
StringBuffer字典顺序比较两个 StringBuffer实例。 |
StringBuffer |
delete(int start, int end) |
删除此序列的子字符串中的字符。
|
int |
indexOf(String str) |
返回指定子字符串第一次出现的字符串中的索引。
|
int |
indexOf(String str, int fromIndex) |
从指定的索引处开始,返回指定子字符串第一次出现的字符串中的索引。
|
StringBuffer |
insert(int offset, String str) |
将字符串插入此字符序列。
|
int |
lastIndexOf(String str) |
返回指定子字符串最后一次出现的字符串中的索引。
|
int |
lastIndexOf(String str, int fromIndex) |
返回指定子字符串最后一次出现的字符串中的索引,从指定索引开始向后搜索。
|
StringBuffer |
replace(int start, int end, String str) |
使用指定的
String的字符替换此序列的子字符串中的字符。 |
StringBuffer |
reverse() |
导致此字符序列被序列的反向替换。
|
void |
setCharAt(int index, char ch) |
指定索引处的字符设置为
ch 。 |
void |
setLength(int newLength) |
设置字符序列的长度。
|
CharSequence |
subSequence(int start, int end) |
返回一个新的字符序列,它是该序列的子序列。
|
String |
substring(int start) |
返回一个新的
String ,其中包含此字符序列中当前包含的字符的子序列。 |
String |
substring(int start, int end) |
返回一个新的
String ,其中包含当前包含在此序列中的字符的子序列。 |
void |
trimToSize() |
尝试减少用于字符序列的存储空间。
|
StringBuilder
一个可变的字符序列。 此类提供与StringBuffer兼容的API,但不保证同步。
此类设计用作StringBuffer替代品,用于单个线程使用字符串缓冲区的位置(通常情况下)。 在可能的情况下,建议使用此类优先于StringBuffer因为在大多数实现中它会更快。
posted on
浙公网安备 33010602011771号