一、构造字符串常用的三种方式:
二、String对象的比较
1.通过引用length()来计算字符串的长度
2.判断字符串是否为空——利用isEmpty()方法
字符串不为空时返回false,字符串为空时返回true
Tips:
空格的值不为空&null的值不为空
3.==
对于基本类型变量,==比较两个变量中存储的值是否相同
对于引用类型变量,==比较两个引用变量引用的是否为同一个对象
![](https://i-blog.csdnimg.cn/blog_migrate/17123f1b1a7fdeeead8f267fdf1dbd62.png)
4.equals
equals比较的是字符串,判断两个字符串地址是否相同,
字符串常量池:
字符串常量池中,双引号“”引起来的都会放到常量池中 每当有带有双引号的进入到常量池,它就会寻找池中是否有和自己相同的,有就不放了 例如,第一个"hello"进入到常量池,第二"hello"再进去时发现里面面已经有一个"hello"了, 第二个"hello"就不会再进去了。 此时,s和s1的地址就是常量池中"hello"的地址,相当于共用一个字符串,即s和s1的地址是相同的
![](https://i-blog.csdnimg.cn/blog_migrate/24a25de9a0b790c93ad0c232ca37450a.png)
5.compareTo()
用于比较字符串的大小
比较大小时,对应字符进行比较 1.对应字符不一样,就看对应字符的ASCII码值 2.对应字符长度不一样,直接比较 前者=后者 返回0;前者>后者 返回大于0的数字;前者<后者 返回小于0的数字 返回值并不是随机的,是对应字符ASCII码差值,例如ha和hc,返回a和z在ASCII码表中相差的值
6.equalsIgnoreCase()
可以忽略字符的大小写来进行比较
三、字符串的查找
1.char charAt(int index)
返回字符串中index对应下标的字符
2.int indexOf(int ch)
返回对应字符出现的下标位置,从头开始一个一个去查,没有对应的字符下标位置返回-1