(1):字符串常量池:

程序当中直接写上的双引号字符串 ,就在字符串常量中。
对于基本类型来说,==是进行数值的比较
对于引用类型来说 ==是进行地址值的比较

image.png

(2):==是进行地址值的比较,如果确实需要字符串的内容比较,可以使用两个方法:

public boolean equals (Object obj):参数可以是任何对象,只有参数是一个字符串并且内容相同的才会给True,否则返回Fales
注意事项 :1任何对象都能用Object 进行接受。
2equals 方法具有对称性,也就是 a.equals (b) 和b.equals(a)效果一样。
3如果比较双方一个常量(abc)一个变量(str),推荐把常量放在前面。”abc”.equals (str) 不推荐 str.equals(“abc”)
4.System.out.println(“abc一123”.equalsIgnoreCase(“abc壹123”));

(3):String 当中与获取相关的常用方法有:

public int length():获取字符串当中含有的字符个数,拿到字符串长度
public Stirng concat(String str):将当中字符串和参数字符串拼接成为返回值新的字符串
public char charAt(int index ): 获取指定索引位置的单个字符(索引从0开始)
public int indexof(String str): 查找字符串在本字符串当中首次出现的索引位置,如果没有返回值 -1 值

(4):获取字符串长度length() ,拼接字符串str1.concat(str2),索引字符串charAt(1 )

System.out.println(“===”);
String str1 = “Hello”;
String str2 = “World”;
String str3 = str1.concat(str2);
System.out.println(str1);
System.out.println(str2);
System.out.println(str3);
System.out.println(“===”);
char ch = “Hello”.charAt(1);
System.out.println(“是:” + ch);
System.out.println(“===”);
String suoyin = “Hello”;
int index = suoyin.indexOf(“llo”);
System.out.println(“第一次索引” + index);
System.out.println(“Hello “.indexOf(“abc”));

(5): 字符串的截取方法:

public String substring(int index) : 截取从参数位置一直到字符串末尾,返回新字符串
public String substring(int begin ,int end ):截取从begin 开始,一直到end结束,中间的字符串
备注:[begin ,end]) 包含左边,不包含右边
String str1 = “HelloWorld”;
String str2 = str1.substring(5);
System.out.println(str1);
System.out.println(str2);

(6):字符串的替换:

String str1 = “How do you do? “;
String str2 = str1.replace( “o”,”*”);
System.out.println(str1);
System.out.println(str2);
System.out.println(“===”);

String lang1 =”你大爷的!你大爷的!你大爷的!”;

String lang2 = lang1.replace(“你大爷的” ,”*“);
System.out.println(lang2);

(6):分割字符串的方法 Split :

String str1 = “aaa,bbb,ccc”;
String[] array1 = str1.split(“,”);
for (int i = 0; i < array1.length; i++) {
System.out.println(array1[i]);