cmpareTo和equals字符比较的区别

    技术2022-05-19  33

    public static string max(string num1, string num2)         {                    if (num1.Equals(num2))                      // if (num1.CompareTo(num2) >= 0)             {                 return num1;             }             else             {                 return num2;             }         }

     

     

    CompareTo 比较程序

    并不是按字符串长度来比较的,而是:

    比较两个字符串的第一个字符:相等则比较第二个,不相等则直接返回结果;比较两个字符串的第二个字符:相等则比较第三个,不相等则直接返回结果;比较两个字符串的第三个字符:相等则比较第四个,不相等则直接返回结果;

     

    当我们改一下区域设置

    在“控制面板”中,打开“区域和语言选项”,在“区域选项”中单击“自定义”,在“排序”标签中选择“笔划”,一路确定。然后关闭 Visual Web Developer,就是比较”笔画“的多少。所以不要用 CompareTo 来比较两个字符串是否相等,要用 Equals。

     

     

    Equals 方法(对于外覆类equals判断的是值是否相等,对于普通类来说是判断是否是同一个对象)是String类从它的超类Object中继承的被用来检测两个对象是否相等,即两个对象的内容是否相等。

    ==(是指两个对象是否指向同一个内存地址)用于比较引用和比较基本数据类型时具有不同的功能:比较基本数据类型,如果两个值相同,则结果为true ;而在比较引用时,如果引用指向内存中的同一对象,结果为true

     

    ps:外覆类是数据类型的包装类,如Integer类 (java.lang.Integer ))


    最新回复(0)