java中comparator 接口怎么比较字符串?

2025-03-07 11:23:21
推荐回答(5个)
回答1:

字符串已经实现了Comparable接口,所以在Comparator接口的实现类中只要调用String的compareTo(String str)方法就可以了。

回答2:

返回值等于0说明相等,比较的是Unicode顺序,注意如果输入都是数字与数字比较结果可能不同
因为"111"就是排在"2"之前

回答3:

private class MyComparator implements Comparator
{
@Override
public int compare(Integer o1, Integer o2)
{
if (o1 > o2)
{
return 1;
}
else if (o1 < o2)
{
return -1;
}
else
{
return 0;
}
}
}
这就是java 的Comparator接口

回答4:

class MyComparator implements Comparator {
@Override
public int compare(String lhs, String rhs)
{

byte[] mlhs=lhs.getBytes();
byte[] mrhs=lhs.getBytes();
for(int i=0;i if(mlhs[i]!=mrhs[i]){
return mlhs[i]-mrhs[i];
}
}
return 0;
}

}

回答5:

理论基础:
字符串已经实现了Comparable接口,所以在Comparator接口的实现类中只要调用String的compareTo(String str)方法就可以了。
具体策略:
返回值等于0说明相等,比较的是Unicode顺序,注意如果输入都是数字与数字比较结果可能不同因为"111"就是排在"2"之前