【发布时间】:2018-05-14 17:56:53
【问题描述】:
我会定期检查我从 Web 服务获取的字符串是否更改。这工作得很好,但如果从我的方法触发器中删除旧字符串,也是。 例如:
//I get this at the beginning
"One,Two,Three"
//And at the next check I get this
"Two,Three"
所以字符串改变了,我的方法返回了 true,就像它应该做的那样。 但我只想返回真,例如“四”被添加到字符串中。
谁能给我一个解决这个问题的方法?
非常感谢,
冻结
【问题讨论】:
-
无法理解您的问题。能说的清楚点吗?
-
我得到字符串“一,二,三”,如果我向该字符串添加一些内容,但当我删除一些内容时,我想返回 true。所以: "一、二、三、四" //这将返回真 "二、三、四" //这也将返回真 "四、五、六" //这也将返回真 "二、三" //这应该返回false
-
Java
String是不可变的,究竟是如何添加了一些东西?您可以测试参考是否更改...a != b(这通常不是比较String实例的方式)。甚至a.hashCode() != b.hashCode()- 这可能已经足够好了。 -
嗯,它不是“添加”的。它基本上是一个新的字符串,它可以包含比原始字符串更少、相同或更多的信息。
-
@FreezedHD 看来你在这里有一个模式。你总是有三个值,用逗号分隔。所以你可以拆分你的字符串并检查它的长度是否小于 3。如果小于,则返回 false。