String类
包位置:String位于java.lang包下
说明:所有字符串的字面值,都是此类的实例(也就是说,带双引号的,就是String类的对象 ☆)
字符串特点:☆
①字符串的内容永不可变
String s = "abc";
s = s + "123";
// 那么为什么可以拼接字符串123呢?
//1、String直接定义的字符串在常量池中,如果重新给s给值其实是常量池中重新开辟了一个空间给abc123,原来的abc不会变 会变成垃圾。
②双引号直接写的字符串是共享的 (字符串常量池)
③字符串在效果上,相当于是char[]字符数组,但是底层原理是byte[]字节数组 ☆
字符串常量池在堆中(池:pool)
结论:程序中,直接写上的双引号字符串,就在字符串常量池中 ☆(自己new的不在池里)
例题:
重要说明:
对于基本类型来说,==是进行数值的比较
对于引用类型来说,