目录
一、字符串
1、 字符串是常量,不可改变
2、创建字符串的方式:
3、StringBuilder和StringBuffer
二、String字符串常用方法
1、以指定字符串开头或结尾startsWith、endWith
2、字符串截取
substring(beginIndex,endIndex)/substring(beginIndex)
3、字符串拆分 split
4、字符串比较 equals、equalsIgnoreCase、compareTo
5、字符串长度 length()方法
6、去掉左右空格trim
7、判空isEmpty
8、转大小写toUpperCase、toLowerCase
9、替换replace
10、转成字符数组——toCharArray()
11、int indexOf(String str)
12、charAt 返回指定索引处的字符
13、concat 拼接 比起+ 效率会高一点
14、String.valueOf() 把其他数据类型转换成字符串类型
15、toString方法 对一个对象的字符串的表示形式
一、字符串
1、 字符串是常量,不可改变
只要双引号包裹的内容就是字符串的对象
如,"dgsah" ——就是个字符串对象,其中dgsah存在于字符串常量池中
比如字符串的拼接,不是在原字符串的内存空间上修改,而是新new出来一个字符串
2、创建字符串的方式:
String s1 = "胡辣汤";
String s2 = new String("狗不理");//new String()可省
3、StringBuilder和StringBuffer
StringBuilder是可以改变的字符串. 都在原来的基础上进行操作. 所以不会产生内存浪费.
StringBuffer和StringBuilder基本上一模一样.
区别是StringBuffer线程安全. StringBuilder线程不安全.
二、String字符串常用方法
1、以指定字符串开头或结尾startsWith、endWith
2、字符串截取
substring(beginIndex,endIndex)/substring(beginIndex)
包含 beginIndex 不包含endIndex / 从beginIndex截取到末尾
3、字符串拆分 split
此方法返回的数组包含此字符串的子字符串
应用:为了传一个内容,用特殊字符拼在一起,然后使用时再切割
4、字符串比较 equals、equalsIgnoreCase、compareTo
5、字符串长度 length()方法
6、去掉左右空格trim
7、判空isEmpty
8、转大小写toUpperCase、toLowerCase
9、替换replace
replace(原始待替换字符串部分, 替换的目标部分)
//!!!replace 重载的方法 替换 应用:参数化{{id}}/${id}
//replace(CharSequence target, CharSequence replacement)
//使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。String str15 = "abc123";
System.out.println(str15.replace("123","学习机"));//abc学习机
System.out.println(str15);//abc123;因为原字符串不可改变,要用新的字符串来接收//String strNew = str15.replace("123","学习机"); 和下面一句效果等同
str15 = str15.replace("123","学习机");//新字符串替换后重新覆盖str15⚠️replace是相当于又开辟了一个空间,把这个地址赋值给result
System.out.println(str15);//abc学习机
10、转成字符数组——toCharArray()
将此字符串转换为一个新的字符数组 返回char[]类型
11、int indexOf(String str)
返回指定子字符串在此字符串中第一次出现处的索引 str.indexOf()
12、charAt 返回指定索引处的字符
13、concat 拼接 比起+ 效率会高一点
14、String.valueOf() 把其他数据类型转换成字符串类型
//把其他数据类型转成String字符串更简单的方式 ——> 任何数据类型 + 字符串(空字符串)"" ——都是字符串int a =1;
System.out.println(String.valueOf(1));//1double d = 1233210.0
System.out.println(String.valueOf(d));//1233210.0
System.out.println(String.valueOf(d).getClass());//class java.lang.String
15、toString方法 对一个对象的字符串的表示形式
直接打印一个对象,默认打印对象,自动执行这个对象中的toString()方法
JAVA官方推荐重写这个方法,默认的太丑了——>object中默认的toString():包+类@内存地址 如果没有包就是:类@内存地址
子类对父类提供的toString不满意,可以进行重写