You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何两段看似相同的Java字符串equals比较结果为false?

问题原因及解决方法

你生成的字符串s和DRUM_R看似相同,实际末尾差了一个空格:

  • sound + " "得到的是"Bang "(注意字符串末尾带有一个空格)
  • 调用repeat(2)后,最终生成的是"Bang Bang "(末尾多了一个空格)
  • 而DRUM_R的内容是"Bang Bang",末尾没有空格

因为两个字符串的实际内容不一致,所以equals()方法返回false。

解决办法

可以用两种方式修正:

  1. 去掉重复后多余的末尾空格:
String s = (sound + " ").repeat(2).trim();
  1. 用String.join直接拼接,避免多余空格:
String s = String.join(" ", sound, sound);

内容的提问来源于stack exchange,提问作者Sonya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 19:32:00