补充几个
concat 连接两个字符串
char[] chars = str.toCharArray();
toCharArray对应的数组必需是char型
format用法(format(String str, ...) str里面包含几个格式符,后面就有几个参数,并且参数类型和格式符类型一致)
格式符 | 说明 | 示例 |
%s | 字符串类型 | "开发喵" |
%c | 字符类型 | 'm' |
%b | 布尔类型 | ture |
%d | 整数类型(十进制) | 100 |
%x | 整数类型(十六进制) | FF |
%o | 整数类型(八进制) | 77 |
%f | 浮点类型 | 99.9 |
%2f保留两位小数
String format = String.format("开发喵的口号是:%s, %d, %c, %f", "让编程变简单", 88, 'C', 99.7);
System.out.println(format);
System.out.println("你的成绩是" + 88 + "分");
System.out.printf("你的成绩是%.0f分", 88.0);
输出结果
转义字符
转义字符 | 说明 |
\\ | 输出\ |
\t | 制表符 |
\n | 换行 |
String的注意事项
(1)字符串对象是不可修改的
(2)线程安全: 由于字符串是不可变的,多个线程可以同时访问和共享相同的字符 串对象,而不会出现并发修改的问题。这使得字符串在多线程环境中更安全。
(3)字符串池: Java中的字符串常量池(String Pool)是字符串不可变性的一个体 现。当你创建一个字符串常量时,JVM会首先检查字符串常量池是否已经存在相同内 容的字符串,如果存在,则直接返回对这个已存在字符串的引用,而不会重新创建一 个新的对象。这样可以节省内存空间并提高性能。
(4)安全性: 字符串不可变性确保字符串对象在被传递给其他方法时,不会被修 改,从而避免了在传递参数时意外修改字符串内容的情况。 字符串不可变性的一个常见实例是使用字符串连接操作符("+")来拼接字符串。 在这个例子中,通过字符串连接操作符连接str1和str2,实际上创建了一个新的字符串 对象,而原始的str1和str2保持不变。
注意事项1:String类的对象是不可变的对象
注意事项2:字符串字面量和new出来字符串的区别
1,只要是以 “...” 方式写出的字符串对象,会存储到字符串常量池,且相同 内容的字符串只存储一份
2 ,但通过 new 方式创建字符串对象,每new一次都会产生一个新的对象放在 堆内存中。