1.String类底层重写了toString方法,在java.lang 包下。
2.String s=new String(chs,1,3);
字符串底层就是字符类型数组
3.通过构造函数创建的字符串保存在堆中;
直接声明的字符串保存在方法区中的常量池中。
常量池的作用:
java字符串的优化机制
1,如果说直接声明字符串的时候去常量池查找,如果有相同的字符串存在则直接拿来用,不在创建新的字符串。
2,如果使用构造函数声明字符串(new),那么不管常量池中有没有相同字符串都会在堆中创建一个新的字符串对象。
4.scanner其实就是一个占用的资源,使用结束后记得关闭,如果不关闭就会占用内存。
5.java中lang包不需要导包。
6.==比较的是地址
1.基本类型时候,比较的是数据类型的值相不相同
2.引用类型时候,比较的是引用类型地址是否相同
7.
8.在object类中有一个equals方法,这个方法如果不重写,是按照==的比较规则进行比较的。