解答
方式一:通过字面量定义的方式
方式二:通过new + 构造器() 的方式
代码理解:
//通过字面量定义的方式:此时数据abc声明在方法区中的字符串常量池中
String s1="abc";
String s2="abc";
//通过new+构造器的方式: 此时s3,s4保存的地址值,是数据在堆空间中开辟以后对应的地址值
String s3 = new String("abc");
String s4 = new String("abc");
System.out.println(s1==s2);//true
System.out.println(s1==s3);//false
System.out.println(s1==s4);//false
System.out.println(s3==s4);//false
System.out.println("**************************");
Person p1 = new Person("Tom",14);
Person p2 = new Person("Tom",14);
System.out.println(p1.name.equals(p2.name));//true,因为比较的是实体内容(String重写了equals()方法)
System.out.println(p1==p2);//false new的两个对象地址值是不一样的
System.out.println(p1.name==p2.name); //true
p1.name="Lay";
System.out.println(p2.name); //结果为Tom
帖子还没人回复快来抢沙发