假设我有两个字符长度相同的字符串,它们看起来像这样。
String s1 = "R20k20r20"; String s2 = "R21k20r20";
我并不关心哪里有差异,但我希望能够计算出它们之间有多少差异。在这种情况下,应该只有1。在给定的情况下,最简单的方法是什么?
daolsyd01#
可以迭代字符串的长度,并为每个不同的字符递增计数器:
int numDiffs = 0; for (int i = 0; i < s1.length(); ++i) { if (s1.charAt(i) != s2.charAt(i)) { ++numDiffs; } }
或者,您可以将这个长度转换为一个可以说更优雅的一行程序:
long numDiffs = IntStream.range(0, s1.length()).filter(i -> s1.charAt(i) != s2.charAt(i)).count();
1条答案
按热度按时间daolsyd01#
可以迭代字符串的长度,并为每个不同的字符递增计数器:
或者,您可以将这个长度转换为一个可以说更优雅的一行程序: