String常用方法
String 类是final 类型的,所以使用 String 定义的字符串是一个常量,因此它一旦创建,其内容和长度是不可改变的。如果需要对一个字符串进行修改,则只能创建新的字符串。
String str="hello world";
String str1="Hello World";
int l=str.length();//计算字符串长度(一个中文是一个字符,一个英文是一个字符,一个转义字符是一个字符)
//join
string[] s = { "a", "b", "c", "d", "e" };
string str2 = string.Join(",", s);//把s转换成字符串,并用","相连
//将字符串转换成字节、字符数组
byte[] temp1=str.getBytes();
char[] temp2=str.toCharArray();
//分割字符串".""|" 都是转义字符,前面要加“\\”
String[] temp3=str.split(String s);//按照s分割,如果s为空,则是挨个分割
//str.split(String sign,int limit)按照sign分割,并且分割后生成的字符串限定为limit个
//如果在一个字符串中有多个分隔符,可以用“|”作为连字符,比如:“acount=? and uu =? or n=?”,把三个都分隔出来,可以用str.split("and|or")。
//一些其他元字符的用法\d 数字\D 非数字\s 空白字符\S 非空白字符\w 单词字符\W 非单词字符 后面加个“+”可以按照连续的某个字符分割
//判断
boolean judge;
judge=str.equals(str1);//判断两个字符串str str1的内容是否一模一样
judge=str.equalsIgnoreCase(str1);//忽略大小写的比较两个字符串的内容是否一模一样
judge=str.contains(str1);//判断一个字符串里面是否包含指定的内容
judge=str.startsWith(str1);//判断一个字符串是否以指定的内容开头
judge=str.endsWith(str1);//判断一个字符串是否以指定的内容结尾
//改字符串
String s="";
s=str.toUpperCase();//将str字符串全部转换成大写,toLowerCase()是转换成小写
s=str.trim();//去除str前后空格
s=str.contcat(str1);//在str后面连接str1
s=str.substring(int a);//从下标a开始解去到str的最后
s=str.substring(int a,int b);//解去下标a到b-1对应的元素
str.getChars(int a,int b,char[] c,int x);//截取str中a到b-1下标的字符,放在c中,并且从c的下标x开始放
s=str.replace(String a,String b);//把str中的a全部替换成b,字符串替换
s=str.replaceAll(String a,String b);//把str中的a全部替换成b,支撑正则替换和字符串替换
s=str.replaceFirst(String a,String b);//把str中第一次出现的a全部替换成b
//位置
char ch=str.charAt(int a);//得到指定下标对应的字符
int temp=str.indexOf(String x);//x在str中第一次出现的位置
temp=str.lastIndexOf(String x);//x在str中最后一次出现的位置
//比较
System.out.println(str.compareTo(str1));
System.out.println(str.compareToIgnoreCase(str1));
//按字典顺序比较两个字符串的大小,前者区分大小写,后者不区分
//输出的结果第一条为-32,第二条为0,两个字符串在字典顺序中大小相同,返回0。
StringBuffer常用方法
StringBuffer 类和 String 类最大的区别在于它的内容和长度都是可以改变的。StringBuffer 类似一个字符容器,当在其中添加或删除字符时,所操作的都是这个字符容器,因此并不会产生新的 StringBuffer 对象。
//初始化
StringBuffer sb=new String("hello world");
//sb所占容器大小
int x=sb.capacity();
StringBuilder 常用方法
StringBuilder 和 StringBuffer 方法和功能完全一致只是一个是早期版本(StringBuffer)是线程安全的,由于发现利用多线程堆同一String数据操作的情况是很少的,为了提高效率idk1.5以后有StringBuilder 类。意思是多线程操作同一字符串的时候用StringBuffer 安全,现在一般用StringBuilder