我有一个处理大数字的表,我想要对它进行排序。该表在显示数字时没有问题,但TableRowSorter似乎将数字视为整数,因此当它们超过最大整数值时会错误地排序大值。如何使用TableRowSorter对Longs进行排序?
答案 0 :(得分:2)
但TableRowSorter似乎对待了 数字作为整数,从而排序 大值不正确的时候 超过最大整数值
这是因为默认情况下,添加到表中的数据被视为String。您需要覆盖TableModel的getColumnClass()方法以返回列中正确的数据类,行分类器将使用适当的Comparator来处理该类型的数据。
答案 1 :(得分:1)
您可以尝试specify your own comparator,它将提供有关如何比较值的详细信息。
答案 2 :(得分:0)
将这些长数字视为字符串,表行分类器将对它们进行正确排序。