今天,我试图将两个字符串与Java中的Stream API进行比较。 假设我们有两个字符串:
String str1 = "ABCDEFG"
String str2 = "ABCDEEG"
我们可以使用以下方法从中制作流
str1.chars().stream()...
str2.chars().stream()...
现在我想比较这些字符串,逐个字符比较char,并且当char在相同位置上不同时,迭代一些变量,因此在这种情况下的结果将为1,因为这有一个区别。
我试图从头开始调用map或forEach,然后旅程结束,因为我不知道如何从第二个流中获取相应的元素。
答案 0 :(得分:3)
假设两个字符串的长度相同(最大整数),则可以将差异计算为:
int diffCount = (int) IntStream.range(0, str1.length())
.filter(i -> str1.charAt(i) != str2.charAt(i)) // corresponding characters from both the strings
.count();
答案 1 :(得分:0)
假设两个String的长度相同,您也可以使用这种方式。
vue