==号:
(1)==号比较基本类型,比较的是变量中的具体值是否相等;
int a=1;
int b=1;
float c=2.0f;
//==比较基本类型,比较的是具体值是否相等
System.out.println(a==b);//true
System.out.println(a==c);//false
System.out.println(b==c);//false
(2)==号比较引用类型,比较的是变量中的地址值是否相等。
String str1="a";
String str2="a";
String str3=new String("a");
//==比较引用类型,比较的是地址值是否相等
System.out.println(str1==str2);//都在池中,地址值相同true
System.out.println(str1==str3);//str1池中,str3堆中,地址值不同false
System.out.println(str2==str3);//str2池中,str3堆中,地址值不同false
========================================================================================================================================================
String类的equals比较相关方法:
(1) String类中的 boolean equals(Object obj),比较俩个字符串是否相等;
(2)String类中的 boolean equlasIgnoreCase(String str),比较俩个字符串是否相等,忽略大小写。**
String str1="a";
String str2="a";
String str3=new String("a");
String str4="b";
//equlas(),比较的是内容是否相等
System.out.println(str1.equals(str2));//俩个字符串内容相同,true
System.out.println(str1.equals(str3));//俩个字符串内容相同,true
System.out.println(str1.equals(str4));//俩个字符串内容不同,false
(3)注意:
当字符串常量和变量在进行比较的时候,推荐把字符串常量写在前面,避免空指针异常。
String str1=null;
String str2="a";
System.out.println(str1.equals(str2));
//Exception in thread "main" java.lang.NullPointerException
========================================================================================================================================================
equals(Obiect obj)习题
第一题:
编译并运行以下程序,以下描述哪个选项是正确的()
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL3VkeNFzY65keRpHW4Z0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL0YTOwMTO0cTM0ETMxkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
A、编译通过运行无异常
B、编译通过但运行时出错
C、行2出错,不能成功编译
D、不能成功编译,行3出错
解析:
public boolean equanls(Object);
equals 方法 的参数是Object,返回值是boolean
注意下,第二行是正确的,他是自定义的equals方法,equals并不是关键字所以定义方法名是可以的。
第三行调用了super类的equals方法,需要有参数,,但是没有写参数,所以第三行编译出错,选D。
============================================================================