String类中"=="、equals和普通类中"=="、equals的比较

时间:2023-03-08 23:10:10
String类中"=="、equals和普通类中"=="、equals的比较
package cn.method.demo;

public class StringDemo2 {
public static void main(String[] args) {
String s1=new String("qy95");
String s2="qy95";
System.out.println(s1);
System.out.println(s2);
//在String 类中引用类型(==)表示该对象内存地址数值比较
//而String类中的equals是该类本身中自己定义的方法,用于字符串内容的比较
//简而言之:在String类中 "=="比较·内存地址 "equals"比较内容
System.out.println(s2==s1); //false
System.out.println(s1.equals(s2)); //true } } /*
普通类中比较的都是地址
**/
package cn.equals.demo; public class Person extends Object{
private String name;
private int age;
public Person(){ }
public Person(String name,int age){
this.name=name;
this.age=age;
} } package cn.equals.demo; public class Text { public static void main(String[] args) {
Person p=new Person("张三",77);
Person p1=new Person("张三",77);
boolean e=p.equals(p1);
//比较的都是地址
System.out.println(e); //false
System.out.println(p==p1); //false } }