String类的常用方法
说明
String类是保存字符串常量的,每次更新都需要重新开辟空间,效率比较低,因此 java 设计者还提供了StringBuilder和StringBuffer来增强String的功能,并提高效率。
常用方法
public class String01 {
public static void main(String[] args) {
String name = "zhang, cheng, hao";
// 里面可以传入char也可以是字符串。
// lastIndexOf也一样
System.out.println(name.indexOf("hao")); // 14
}
}
public class String01 {
public static void main(String[] args) {
// 3.concat拼接字符串
String s1 = "宝玉";
s1 = s1.concat("林黛玉").concat("薛宝钗").concat("together");
System.out.println(s1);//宝玉林黛玉薛宝钗together
// 4.replace 替换字符串中的字符
s1 = "宝玉 and 林黛玉 林黛玉 林黛玉";
// 在s1中,将 所有的 注意是所有的林黛玉 替换成薛宝钗
// 老韩解读: s1.replace() 方法执行后,返回的结果才是替换过的。
// 注意对 s1没有任何影响
String s11 = s1.replace("宝玉", "jack");
System.out.println(s1);//宝玉 and 林黛玉 林黛玉 林黛玉
System.out.println(s11);//jack and 林黛玉 林黛玉 林黛玉
// 6.toCharArray 转换成字符数组
String s = "happy";
char[] chs = s.toCharArray();
for (int i = 0; i < chs.length; i++) {
System.out.println(chs[i]);
}
// 7.compareTo 比较两个字符串的大小,如果前者大,
// 则返回正数,后者大,则返回负数,如果相等,返回0
// 老韩解读
// (1) 如果长度相同:
// 并且每个字符也相同,就返回 0
// 字符不同时,则从头开始进行比较,一个个字符的比较,直至出现不一样的字符时,返回差值
// (2) 如果长度不同:
// 部分内容相同时(包含),就返回 str1.len - str2.len
// 字符不同时,则从头开始进行比较,一个个字符的比较,直至出现不一样的字符时,返回差值
String a = "jabl";// len = 3
String b = "jack";// len = 4
System.out.println("compareTo的值为:" + a.compareTo(b)); // 返回值是 'c' - 'a' = 2的值
// 8.format 格式字符串
/* 占位符有:
* %s 字符串 %c 字符 %d 整型 %.2f 浮点型 两位小数
*/
String name = "john";
int age = 10;
double score = 56.857;
char gender = '男';
//老韩解读
//1. %s , %d , %.2f %c 称为占位符
//2. 这些占位符由后面变量来替换
//3. %s 表示后面由 字符串来替换
//4. %d 是整数来替换
//5. %.2f 表示使用小数来替换,替换后,只会保留小数点两位, 并且进行四舍五入的处理
//6. %c 使用char 类型来替换
String formatStr = "我的姓名是%s 年龄是%d,成绩是%.2f 性别是%c.希望大家喜欢我!";
String info2 = String.format(formatStr, name, age, score, gender);
System.out.println("info2=" + info2);
}
}
format:String.format(content, paramer1)
%s 字符串 %c 字符 %d 整型 %.2f 浮点型 保留两位小数(四舍五入的处理)