gpt4 book ai didi

java - Java中比较字符串的三种不同方式

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:08:25 24 4
gpt4 key购买 nike

几个月前,我记得在接受采访时,被要求提供三种不同的方法来比较 Java 中的字符串的值。出于好奇,我打算在这里问一下,供我自己引用。我想到了两个:

  1. str1.equals(str2) 或使用 compareTo,两者合计为一
  2. 逐字比较

有什么想法吗? “==”、equalsTo、compareTo 以及它们的任何变体都不是我被告知的。

编辑:修正了一点问题。

最佳答案

由于对使用 == 存在如此强烈的反对意见,我无法抗拒张贴一个确实使用它的答案的诱惑(这是完全有效的! ) :)))

    String s1 = new String("abc"); // create string object 1
String s2 = new String("abc"); // create a different string object 2
s1 = s1.intern();
s2 = s2.intern();
System.out.println(s1 == s2); // true!

因此,如果我们确保保留字符串,我们可以依靠==

除此之外,正如我在上面的评论中所建议的:听起来面试官正在寻找一个“明智”的解决方案,例如:

s1.contains(s2) && s2.contains(s1)

s1.matches(s2) && s2.matches(s1)

s1.replace(s2, "").isEmpty() && s2.replace(s1, "").isEmpty()

等等

关于java - Java中比较字符串的三种不同方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31363732/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com