什么是字符串?
把多个字符串连在一起
String字符串分类(其实他是一个char[]数组)
不可变字符串:String
可变字符串:StringBuiler / StringBuffer
字符串为空的两种形式
1.表示引用为空:String str = null;
还没有初始化,没有分配内存空间
2.表示空字符串:String str = "";
已经创建了对象,已经分配了内存
内存当中的内容为空
字符串String创建方式
1.String str = "ABC";
2.String str2 = new String("ABC");
判断一个字符串是否为空
1. == 比较两个内存地址是否相等
2. equals 它是在object类,和==相同
但是String类当中覆盖了equals方法
字符串内存分析
1.使用String str = "ABCD";创建字符串
要么创建一个对象,要不不创建
2.String str2 = new String("ABCD");
至少创建一个对象
字符串编译优化
字符串常用方法
1.把一个char数组转换成字符串
char[] cs = new char[] {'A', 'B','C'};
String str = new String(cs);
System.out.println(str);
2.把一个字符串转换成char类型的数组
char[] cs2 = str.toCharArray();
3.获取字符串当中指定位置的字符
String str2 = "myxq";
System.out.println(str2.charAt(2));
4.获取字符串的长度
String str2 = "myxq";
System.out.println(str2.length);
5.返回一个子字符串在字符当中的第一次出现的一个位置
String str3 = "ABCDEFGCD";
String str4 = "CD";
System.out.println(str3.indexOf(str4));
6.返回一个子字符串在字符串当中的最后一次出现的一个位置
String str3 = "ABCDEFGCD";
String str4 = "CD";
System.out.println(str3.lastIndexOf(str4));
7.把所有字母变成大写
String str5 = "cd";
System.out.println(str5.toUpperCase());
8.把所有字母变成小写
String str3 = "ABCDEFGCD";
System.out.println(str3.toLowerCase());
9.忽略大小写进行比较字符串是否相等
// == equals
equalsIgnoreCase 忽略大小写的比较
System.out.println(str4.equalsIgnoreCase(str5));
10.用一个字符可以对字符串做一个分割 返回的是一个数组
String str = "myxq;name;xq;my";
String[] res2 = str.split(";");
System.out.println(Array.toString(res2));
11.是否以指定的字符串开头
String str = “myxq123”;
boolean res = str.startsWish(“my”);
System.out.println(res);
12.从指定位置开始截取字符串,一直截取到最后
String str = “myxq123”;
String res = str.substring(1);
System.out.println(res);
13.获取从指定位置开始,到指定位置结束之间的字符串
String str = “myxq123”;
String res = str.substring(1,4);
System.out.println(res);
14.把一个单词的首字母变成大写
String name = “myxq”;
String res = name.substring(0,1);
System.out.println(res);
res = res.toUpperCase();
System.out.println(res);
String lastString = name.substring(1);
System.out.println(lastString);
System.out.println(res1+lastString);
15.去除字符串当中左右两端的空格
String s = “ my mq ”;
s = s.trim();//去除首尾的空格,不能去掉中间的空格
System.out.println(s.length);
System.out.println(s);
16.使用一个新字符替换指定字符串当中的老字符
String str = “myxqgxq”;
String newStr = str.replace(“q”,“g”);
System.out.println(newStr);
17.去除字符串当中所有的字符
String s1 = “ my mq ”;
s1 = s1.replace(“ ”,“”);
System.out.println(s);
18.判断一个字符串不为空