String string1 = "abc";
String string2 = new String("abc");
String string3 = "abc";
==相当于判断两个地址是否一样
字符串中的equals方法 比较的是两个字符串中的每一个字符
System.out.println(string1 == string2); //false
System.out.println(string1 == string3); //true
System.out.println(string1.equals(string2)); //true
string1 和 string2 有什么不同 分别代表几个对象?
string1是一个对象 常量池里的一个对象abc
string2是两个对象 "abc"是一个对象 又new了一个堆区的对象
1.获取字符串字符 charAt
根据索引获取字符串中字符
返回值类型 方法名 参数
char charAt (int index)
String string1 = "wanglong";
char c = string1.charAt(1);
System.out.println(c); //结果为:a
2.获取目标字符的索引indexOf
// 传入字符,在字符串中0下标开始寻找下标
String string1 = "wanglong";
int index = string1.indexOf('g');
System.out.println(index); //结果为:7 如果找不到会返回-1
// 从2下标开始寻找字符n的下标
int index1 = string1.index('n',2); //结果为:2
// 传入字符串 查找对应位置
int index2 = string1.indexOf("ng");
System.out.println(index2); //结果为:2
3.拼接字符串concat(或者+)
// 拼接字符串
String str2 = "chinese";
String str3 = str1 + str2;
String str4 = str1.concat(str2);
System.out.println(str3); //结果为:wanglongchinese
System.out.println(str4); //结果为:wanglongchinese
4.判断是否包含这个字符串contains 是否以这个前缀开头startWith(endWith)
// 包含
String str1 = "wanglong";
boolean b1 = str1.contains("an");
System.out.println(b1); //结果为:true
boolean b2 = str1.contains("and");
System.out.println(b2); //结果为:false
5.替换replace,切割split,截取子串subString,转换大小写toUpperCase(),去空格trim
//替换
String string = "wanglong";
String string1 = string.replace('a','f');
System.out.printlf(string1); //输出结果:wfnglong
String string2 = string.replace("ng","chinese");
System.out.println(string2); //输出结果:wachineselong
//分割
String string = "wang,long,zui,niu,bi";
//按逗号进行切割
String[] array = string.split(",");
for(String str : array){
System.out.print(str + " "); //输出结果为:wang long zui niu bi
}
String string = "wanglong";
// 返回从索引往后的字符串
String string1 = string.subString(5);
System.out.println(string1); //输出结果:ong
// 类似random 截取时留头不留尾
String string2 = string.subString(2,6); //输出结果: nglo
String string = "wanglong";
//转大写
String string1 = string.toUpperCase();
String string2 = "CHINESE";
//转小写
String string3 = string2.toLowerCase();
System.out.println(string1); //输出结果:WANGLONG
System.out.println(string3); //输出结果:chinese
//去空格
String string = " wang long ";
String string1 = string.trim();
System.out.println(string1); //输出结果:wang long
6.字符串与数组的互换 字符串转字符数组--toCharArray().
char[] array = {a,c,d,w,f};
String arr = new String(array);
System.out.println(arr); //输出结果为:acdwf
String string1 = "wanglong";
char[] charArray = string1.toCharArray();
for(char c : charArray){
System.out.println(c); // 输出结果 : w a n g l o n g
}
7.int型转字符串 valueOf()
// int 型转字符串
int num = 4;
String string = String.valueOf(num);
System.out.println(num); //输出字符串结果:4
在此我向大家推荐一个架构学习交流群。交流学习群号:938837867 暗号:555 里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化、分布式架构等这些成为架构师必备