首页后端开发JAVAjava 和equles

java 和equles

时间2023-07-16 20:49:01发布访客分类JAVA浏览1105
导读:Java 是一种广泛使用的面向对象编程语言,被广泛应用于开发移动应用程序、桌面应用程序、Web 应用程序等。在 Java 中,我们经常会用到的 == 运算符,它用于比较两个变量的值是否相等。不过,由于 Java 中存在引用类型,因此对于引用...

Java 是一种广泛使用的面向对象编程语言,被广泛应用于开发移动应用程序、桌面应用程序、Web 应用程序等。在 Java 中,我们经常会用到的 == 运算符,它用于比较两个变量的值是否相等。不过,由于 Java 中存在引用类型,因此对于引用类型的变量,可能会出现我们不希望看到的结果。这时,我们就可以使用 equals 方法来进行比较。

public static void main(String[] args) {
    String str1 = "hello";
    String str2 = "hello";
    String str3 = new String("hello");
    System.out.println(str1 == str2);
     // trueSystem.out.println(str1 == str3);
     // falseSystem.out.println(str1.equals(str2));
     // trueSystem.out.println(str1.equals(str3));
 // true}
    

在上面的代码中,我们定义了三个字符串变量 str1、str2 和 str3,其中 str1 和 str2 的值相同,都等于 "hello",而 str3 则是通过 new 关键字重新创建了一个新的字符串对象,它的值也是 "hello"。

接下来,我们运用了 == 运算符进行比较,可以发现 str1 和 str2 的比较结果是 true,而 str1 和 str3 的比较结果是 false。这是因为 str1 和 str2 指向了同一块内存,即字符串池中的 "hello",而 str3 则指向了新创建的一块内存。

接下来,我们运用了 equals 方法进行比较,可以发现 str1 和 str2 的比较结果还是 true,而 str1 和 str3 的比较结果变成了 true。这时,我们就可以得出结论:使用 equals 方法比较字符串时,比较的是字符串的内容,而不是在内存中的地址。这种比较方式在 Java 中更为常见,所以我们一般会优先使用 equals 方法进行字符串的比较。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: java 和equles
本文地址: https://pptw.com/jishu/314586.html
java 和equals方法 java 700c和OCR3500

游客 回复需填写必要信息