【发布时间】:2020-11-28 21:35:23
【问题描述】:
我有一个在 JFrame 中实现比较器方法的类,由于某种原因,当你两次输入相同的名称时,程序会下降并打印这个 --> StringIndexOutOfBoundsException
方法代码:
public class OrdenarCrecienteTecnico implements Comparator<Tecnico> {
@Override
public int compare(Tecnico a, Tecnico b) {
String PalabraA = a.getNombre().toUpperCase();
String PalabraB = b.getNombre().toUpperCase();
int i = 0;
while(i<PalabraA.length() && i<PalabraB.length() && PalabraA.charAt(i) == PalabraB.charAt(i)){
i++;
}
return PalabraA.charAt(i) - PalabraB.charAt(i);
}
}
【问题讨论】:
-
为什么要写这样的代码?请改用
PalabraA.compareTo(PalabraB) -
char类型已过时,不能用于以这种方式比较字符串。
标签: java comparator