1.String类
作用:在java程序中实现字符串数据存储和操作的一种API,存储在
该类中字符串数据不能被修改,而操作的都是一种副本行为。
包含的方法:
1.获取字符数组
System.out.println("字符串长度"+str1.length());
char[] c=str1.toCharArray();
System.out.println("字符个数:"+c.length);
2.获取字节数组
byte[] b=null;
try {
b = str1.getBytes("utf-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
3.比较字符串内容
Boolean bl=str1.equals(str2);
4.通过字符获取所在索引
//获取字符串指定字符所在索引
String str3=new String("我是一个人,同时也是一个中国人");
//获取到第一个位置
int a3=str3.indexOf("一");
System.out.println("当前索引:"+a3);
//最后出现的位置
int a31=str3.lastIndexOf("一");
System.out.println("最后一次出现的索引:"+a31);
5.通过索引获取指定的字符
//通过索引获取指定的字符
String str4=new String("我是一个人,同时也是一个中国人");
char c4=str4.charAt(4);
System.out.println("当前索引位置字符:"+c4);
6.判断是否以指定字符串结尾
//获取以指定字符串结尾的判断
String str5=new String("我是一个人,同时也是一个中国人");
Boolean b5=str5.endsWith("中国人");
7.判断字符串内容是否为空
String str6=new String("我是一个人,同时也是一个中国人");
Boolean b6=str6.isEmpty();
8.字符串内容截取
//字符串内容截取
String str7=new String("我是一个人,同时也是一个中国人");
String str71=str7.substring(3, 7);
System.out.println("截取的字符串:"+str71);
String str72=str7.substring(5);
System.out.println("截取后的:"+str72);
代码运行后结果为:
截取的字符串:个人,同
截取后的:,同时也是一个中国人
9.通过匹配字符获取字符串内容截取
//通过匹配符进行指定字符串截取
String str8=new String("滔哥、浩哥、为哥、嘉姐");
String[] str81=str8.split("、"); //regex:正则表达式 -->匹配符
System.out.println(str81[2]);
代码运行后结果为:
为哥
字符串接收字符数组、字节数组内容
字符串的构造方法提供了几种重载方式用于接收字符数组、字节数组转换成字符串方式
2.StringBuffer
作用:可以实现字符串内容的更改。
功能:增、删、改、查
//定义一个字符串缓冲区
StringBuffer sb=new StringBuffer("我是人");
//增加字符串内容
sb.append("中国人");
sb.append("美国人");
System.out.println(sb);
//修改字符串内容
sb.setCharAt(2, '好');
System.out.println(sb);
//删除
sb.delete(2, 5); //删除指定索引段的字符串
System.out.println(sb);
sb.deleteCharAt(4);//删除指定索引位置的字符
System.out.println(sb);
代码运行后结果为:
我是人中国人美国人
我是好中国人美国人
我是人美国人
我是人美人
3.String和StringBuffer的区别?
String表示在创建一个字符串后,所以对字符串操作的行为都是使用副本的方式,
而StringBuffer所创建的字符串存储在缓冲区中,所有的操作直接对原始字符串进行
操作。