字符串
从概念上讲, Java 字符串就是 Unicode 字符序列。
在标准 Java 类库中提供了 一个预定义类,叫做 String。每个用双引号括起来的字符串都是 String类的一个实 例:
String str = "hello";
2.6.1 子串
字串:是一个字符串的某些字段
String类的substring方法可以从一个较大的字符串提取出一个子串,例如:
String str = "hello word";
String substring = str.substring(0, 3);
这里会截取一个新的字串,会从原字符串 str 截取第0,1,2个字符。
2.6.2 字符串拼接
**方式一:**使用 + 号拼接
String str = "hello word";
String string = str + "你好";
System.out.println(string);
当将一个字符串与一个非字符串进行拼接时,后者会被转换为字符串
String str = "hello word";
String string = str + 13;
System.out.println(string);
输出为:hello world13
2.6.3 检测字符串是否相等
使用equals()方法
String str = "hello word";
String str1 = "hello word";
boolean isEquals = str.equals(str1);
返回一个boolean类型的值,true为相等,false为不等
对于字符串不能简单的使用 == 来判断两者的大小
2.6.4 空串和Null串
空串:
是“”长度为0的字符串,空串是一个Java对象,有自己的长度(0)和内容(空)
Null串:
是string变量存放的特殊值null
在程序中有时会检查字符串 既不是空串又不是null串
str.length() != 0 && str != null
2.6.5 字符串长度和字符串的字符
字符串长度:
String str = "hello word";
int length = str.length();
字符串的字符:
String str = "hello word";
char c = str.charAt(0);
返回字符串第一个字符,0是参数表示字符串的第几个字符,从0开始
2.6.6 String API
字符串常用的方法
char charAt(int index);//返回字符串的diindex + 1个字符
int compareTo(String other);//如果字符串位于other之前返回负数,位于other之后返回正数
new String(int[] codePoints,int offset,int count)//数组中从offset开始的count个字符开始构造一个新的字符串
boolean equals(Object other);//判断是否相等,相等返回true
boolean equalsIgnoreCase(String other);//忽略字符串的大小写,判断是否相等
int index = str.indexOf(other);//返回字符串是否包含子串other,包含返回字串开始的位置,不包含返回-1 int index = str.indexOf(other,2);//返回第3个字符后是否包含子串other,包含返回字串开始的位置,不包含返回-1
int length = str.length();//返回字符串长度
String hello = str.replace("hello", other);//用other字符串代替原字符串中的“hello”
String substring = str.substring(0, 5); System.out.println(substring); String substring1 = str.substring(5); //截取从开始位置到结束位置的字符串,没有结束位置,一直截取至最后一个字符
String s = str.toUpperCase();//小写变大写 String s1 = str.toLowerCase();//大写变小写
String trim = str.trim();//去除原字符串头部和尾部的空格
类方法很多,可以通过使用JDK文档的方法获取相应的API
2.6.7 构建字符串
有些时候, 需要由较短的字符串构建字符串, 例如, 按键或来自文件中的单词。采用字 符串连接的方式达到此目的效率比较低。每次连接字符串, 都会构建一个新的 String 对象, 既耗时, 又浪费空间。使用 StringBuilder 类就可以避免这个问题的发生。
步骤:
-
构建一个空的字符串构建器
StringBuilder stringBuilder = new StringBuilder();
-
每次需要添加一部分内容时使用append()方法
stringBuilder.append("hello");
-
在需要构建字符串时调用toString方法,得到字符串
String string = stringBulider.toString();
StringBulider中的重要方法
StringBulider();//构造空的字符串构建器
int length();//返回构建器或缓冲器中的代码单元数量。
StringBulider append(char c);//追加一个字符并返回 this。
StringBulider.insert(int offset,String str)//在 offset 位置插入一个字符串并返回 thi
StringBulider.delete(1nt startindex,int endlndex)//删除偏移量从 startindex 到 -endlndex-1 的代码单元并返回 this。
String toString()//返回一个与构建器或缓冲器内容相同的字符串