【问题标题】:java operator == uses [duplicate]java运算符==使用[重复]
【发布时间】:2011-08-04 17:47:42
【问题描述】:

可能的重复:
Strings in Java : equals vs ==
Comparing strings in java

is == 可以应用于字符串吗?

如果是这样,那么它对 String 的数据类型有什么用?

换句话说虽然我们应该使用相等的方法来比较两个字符串java,但是==运算符在java中的String有什么用?

【问题讨论】:

    标签: java operator-keyword


    【解决方案1】:

    == 不会比较字符串的值,而是比较它的地址。如果要比较值,请使用 equals() 方法。

    【讨论】:

      【解决方案2】:

      当你想在 Java 中比较对象时,你应该使用equals() 方法。运算符 == 用于比较 Java 对象中的引用,而不是值。

      例如:

      String s1 = "hello";
      String s2 = new String("hello");
      boolean comp = s1.equals(s2); // correct, returns true
      comp = s1 == s2; // wrong, returns false
      

      【讨论】:

      • true 但是,你通常不会使用新的关键字,因此字符串将被添加到字符串池中,并且 s1 == s2 为 true。
      • @Oscar Gomez - 我用它来避免使用字符串输入的长示例,这对我来说似乎没有必要。
      【解决方案3】:

      '==' 运算符比较两个 Object references。因此,在两个字符串的情况下,它会检查这些对象,并查看它们是否代表相同的内存中的位置

      .equals() 方法将 字符串的内容 相互比较。

      【讨论】:

        【解决方案4】:

        比较对象,== 运算符比较引用是否相同。在原始类型(int、float、double、boolean)中,它实际上比较了值。由于字符串是对象,因此最好使用 equals() 方法。 == 将比较两个字符串的引用是否相同,这可能不是。 Java Collections 也使用 equals() 方法。

        【讨论】:

          猜你喜欢
          • 2012-08-23
          • 2011-11-06
          • 2013-09-07
          • 2014-05-10
          • 1970-01-01
          • 2014-05-05
          • 2012-02-01
          • 1970-01-01
          • 2023-03-29
          相关资源
          最近更新 更多