字符串定义
用双引号括起来的的都是字符串
String str = "";//一个空字符串
String str = "Hello";
子串
String 类的substring()方法可以从一个较长的字符串中截取字串,如:
String hello = “hello”;
String str = hello.substring(0,3);
则str = “hel”
substring的第一个参数表示开始截取的位置,第二个参数表示步截取的第一个位置。
字符串拼接
1.字符串的拼接通过"+"来完成,如:
int age = 24;
String msg = "My name is " + age;
该特性经常被用在输出上
2.可以使用join()方法来把多个字符串拼接起来,并通过指定的分隔符隔开
String str = String.join();
3.java11中新增了repeat方法将字符串复制指定次数
String str = "java";
String repeated = str.repeat(3);
字符串的不可变性
比较字符串是否相等
空串与null串
空串是指长度为0的字符串
判断一个字符串是否为空串可以用以下方法:
if(str == ""){}
if(str.length==0){}
null串是什么都没有,没有长度
判断是否为null串可以用以下方法
if(str == null){}
String常用方法
方法 | 描述 |
---|---|
char charAt(int index); | 获取字符串中指定位置的字符 |
int codePointAt(int index); | 返回从指定位置开始的码点 |
boolean isBank(); | 判断字符串是否为空串或由空格组成 |
boolean isEmpty(); | 判断字符串是否为空串 |
boolean equals(Object obj); | 判断字符串是否相等 |
boolean equalsIgnorecase(String other); | 判断两个字符串是否相等,忽略大小写 |
boolean startWith(String prefix); | 判断字符串是否以prefix开头 |
boolean endsWith(String suffix); | 判断字符串是否以suffix结尾 |
int length(); | 获取字符串长度 |
String replace(CharSequence oldString, CharSequence newString); | 返回一个新字符串,这个字符串用newString替换原始字符串的oldString |
String substring(int beginIndex); | 返回一个子串,该字符串包括从beginIndex到末尾的所有代码单元 |
String substring(int beginIndex,int endIndex); | 返回一个字符串,该字符串包括从beginIndex到endIndex-1的所有代码单元 |
String toUpperCase(); | 将字符串转换为大写 |
String toLowerCase(); | 将字符串转换为小写 |
String trim(); | 返回一个新的字符串,该字符串包含去除首位空格之后的所有代码单元 |
String join(CharSequence delimiter, CharSequence …elements); | 返回一个字符串,用分隔符delimiter将所有元素都连接起来 |
String repeat(int count); | 将一个字符串重复count次 |
构造字符串
StringBuffer
StringBuilder
常用API
方法 | 描述 |
---|---|
int length() | 返回构造器内代码单元的数量 |
StringBuilder append(String str) | 追加一个字符串并返回this |
StringBuilder append(char ch) | 追加一个代码单元,并返回this |
StringBuilder appendCodePoint(int cp) | 追加一个码点单元,并将其转化为一个或两个代码单元并返回this |
void setCharAt(int i,char c) | 将第i个代码单元设置为c |
StringBuilder inset(int offset,String str) | 在offset位置插入一个字符串并返回this |
Stringbuilder inset(int offset,char c) | 在offset位置插入一个代码单元并返回this |
StringBuilder delete(int startIndex,int endIndex) | 删除从startIndex到endIndex-1的代码单元并返回this |
String toString() | 返回一个与字符串构造器或缓冲器内容相同的字符串 |