课堂动手动脑-3及字符串加密
1.StringConstructors.java
在Java中内容相同的字符串常量“Hello”只保存一份,以节约内存,s0,s1,s2引用的都是同一对象;
编译器在编译s2时,会去掉“+”号,直接连成一个字符串;
使用new创建字符串对象时,值虽然相同,但引用的是两个对象
2.
给字符串变量赋值时,两个字符串变量s1,s2引用同一个对象“a”;
String对象内容是只读的,使用“+”号修改s1变量的值得到一个新的字符串对象,与原来无关;
代码中的“ab”是常量,其引用的字符串对象与“ab”无关;
String.equals()比较两个字符串的内容是否相同;
3.String.equals()方法
创建两个对象时,s1,s2引用的不是同一个对象,所以为false;判断两个字符串内容是否相同,用s1.equals(s2),字符串变量初始化相同时,所引用的是同一对象,所以s1==s2为true;