1.String类(字符串):
1.说明:java中最常用的一个类,用" "包含多个字符序列,String一旦定义不能更改
2.目标:熟练甚至精通,熟练使用API
2.构造方法:
1.String(char[]):char[] a=new char[]{"new","to"}; String s=new String(a);
2.String(Byte[]):
3.String s="hello ";(字面值,最常用的构造方法)
3.常用方法:
1. char charAt(int) :根据下标返回对应位置的字符
2. boolean contains(String) :判断是否包含另一个子串
3. boolean startsWith(String):判断是否以指定前缀开始
boolean endsWith(String) :判断是否以指定后缀结束
4. boolean equals(Object) :判断两个字符串是否完全相同
boolean equalsIgnoreCase(String):大小写不敏感(忽略大小写)
5. int indexOf(char/String) :根据字符(串)获得下标
int lastIndexOf(int/String):由后向前
6. boolean isEmpty() :判断字符串是否为空
7. int length() :获得字符串的长度
8. boolean matches(String) :是否匹配正则表达式
9. String replace(String,String) :后字符串替换全部的前字符串
String replaceAll(String,String):可以使用正则表达式
String replaceFirst(String,String):可正则,替换第一个字符串
10. String[] split(String) :按照某字符(正则表达式)拆分
11. String substring(int,int) :获得子串(含开头,不含结尾)
12. String toLowerCase() :转成小写
String toUpperCase() :转成大写
13. String trim() :去掉前后空格
4.String Pool(字符串池):
1.因为String在java使用最频繁,且String是一个常量,因此对其做了特殊优化。
2.当调用字面值时,在字符串池中查找,如果曾经定义过,则指向它;没有定义过则在池中创建一个并指向它
5.StringBuffer(字符串缓冲区):
1.可变的,支持链式编程(操作完成后返回自己)
2.常用方法:
1.apend :在末尾追加字符
2.insert :在指定位置插入
3.delete :删除(含头不含尾)
4.replace :将原来的一部分替换(含头不含尾)
5.reverse :倒转6.length :获得长度
7.capacity :容量
3.在对字符串进行特殊处理时使用,更多的还是使用String
6.StringBuilder:与StringBuffer类似
package com.Oracle._Pratice;
import java.util.Arrays;
public class TestString {
public static void main(String[] args) {
String s="My Name Is";
String str1="Name";
String str2="name";
//s是否包含str
System.out.println(s.contains(str1));
System.out.println(s.contains(str2));
//判断是否相等
System.out.println(str1.equals(str2));
System.out.println(str1.equalsIgnoreCase(str2));
//name在s下标的起始位置
System.out.println(s.indexOf("name"));
//将字符串按照" "(空格)进行拆分
String[] string=s.split(" ");
System.out.println(Arrays.toString(string));
//将所有字符转成小写
System.out.println(s.toLowerCase());
System.out.println();
StringBuffer sb=new StringBuffer(s);
//在下标3的位置插入
sb.insert(3, "school's ");
System.out.println(sb);
//在sb的最后增加
sb.append(" 东北林业大学");
//将StringBuffer转为String输出
System.out.println(sb.toString());
//删除下标3~12
System.out.println(sb.delete(3, 12));
//将下标为0~1的位置替换为str
sb.replace(0, 1, str1+" ");
System.out.println(sb);
}
}