更新:
使用您在检查字符串之间的建议,我发现不同之处在于某些字段的排列,因为这些字符串实际上是 JSON 字符串。
示例: string1 上
的字段username: johndoe@dummy.com位于开头,但位于 string2 的中间某处。我想知道是否有一种方法可以检查或比较 2 个 json 对象,而不管它们的字段/属性的排列如何……只要它们的内容(字段值)相同。
我尝试了什么:
private boolean sameJsonObject(Object o1, Object o2) throws IOException {
if (o1 == null || o2 == null) {
return false;
}
JsonNode json1 = mapper.readTree(mapper.writeValueAsString(o1));
JsonNode json2 = mapper.readTree(mapper.writeValueAsString(o2));
return json1.equals(json2);
}
这行得通,但我相信这可以改进。
原始问题:
我想检查两个字符串是否相等,但是这些字符串真的很长,不能设置为变量/字符串对象,并且字符串常量太长。
我知道有equals(), equalsIgnoreCase(),StringUtils.equals(s1, s2)但这些似乎都不起作用。
我正在比较的字符串来自两个不同的来源,并且手动比较它会得到相同的结果(我的意思是内容相同)。
我试图在这里发布示例字符串,但我不能。要比较的每个字符串的大小超过 30k(每个字符串 170k)。
顺便说一句,这些字符串是实际数据(json),它们真的很大,我想测试它的相等性(内容)。
有没有办法在java中进行检查?
桃花长相依
拉莫斯之舞
红颜莎娜
相关分类