为什么没有返回true?

问题描述 投票:0回答:1

我编写了代码来检测一个字符串是否以另一个字符串结尾。

if (str1.indexOf(str2)==-1) {return false;}
return ((str1.substring(str1.indexOf(str2)))==str2);


由于某种原因它失败了,但是当我打印出结果时,它看起来完全一样,但它是错误的


String str3 = str1.substring(str1.indexOf(str2));
System.out.println(str3);
System.out.println(str2);

输入:abc 输出:BC 公元前

发生什么事了?

java string substring string-comparison logic-error
1个回答
0
投票

我是个白痴。我应该用

str3.等于(str2);

因为 == 检查字符串变量是否相同,而不是内容是否相同

© www.soinside.com 2019 - 2024. All rights reserved.