天天看点

基础第一阶段day08——==号注意事项 、 String类的equals比较相关方法、equals方法习题重点

==号:

(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)习题

第一题:

编译并运行以下程序,以下描述哪个选项是正确的()

基础第一阶段day08——==号注意事项 、 String类的equals比较相关方法、equals方法习题重点

A、编译通过运行无异常

B、编译通过但运行时出错

C、行2出错,不能成功编译

D、不能成功编译,行3出错

解析:

public boolean equanls(Object);

equals 方法 的参数是Object,返回值是boolean

注意下,第二行是正确的,他是自定义的equals方法,equals并不是关键字所以定义方法名是可以的。

第三行调用了super类的equals方法,需要有参数,,但是没有写参数,所以第三行编译出错,选D。

============================================================================

继续阅读