java:==操作符和equals方法 ,string对象的创建

==操作符和equals方法

==操作符:

1.基本类型比较值:只要俩个变量的值相等,则为true

2.引用类型比较引用是否指的是同一个对象),是同一对象,==才返回true

例:

Person p1=new Person();
Person p2=new Person();
System.out.println(p1==p2);

结果为false

Person p1=new Person();
Person p2=p1;
System.out.println(p1==p2);

结果为true
注意: 用“==”进行比较时,符号俩边数据类型要兼容(可自动转换类型的除外)。 否则,编译出错。

 Person p1=new Person();
Test t=new Test();
System.out.println(p1==t);//编译报错

equals
equal():所有类的继承object,可获得equal()方法,还可以重写。
只能***做比较引用类型***:作用和“==”相同,比较是否指向同一个对象。

Person p1=new Person();
Person p2=new Person();
//System.out.println(p1==p2);
System.out.println(p1.equals(p2));

结果都为false

特例:对特殊的File,String,Date及包装类(Wrapper Class)来说,是比较类型和内容,而不考虑是否为同一对象

String p1=new String("abc");
		String p2=new String("abc");
		System.out.println(p1==p2);//false
		System.out.println(p1.equals(p2));//比较的内容,true

结论:
==是比较对象的内存地址;
equals,对于String是比较内容值的。

在这里插入图片描述

string对象的创建:

在这里插入图片描述

发布了45 篇原创文章 · 获赞 12 · 访问量 1124

猜你喜欢

转载自blog.csdn.net/weixin_46037153/article/details/104443187
今日推荐