Сортировка длинных целых чисел с помощью Java TableRowSorter

У меня есть таблица, которая обрабатывает большие числа, и я хочу, чтобы она была отсортирована. В таблице нет проблем с отображением чисел, но TableRowSorter, похоже, обрабатывает числа как целые числа, поэтому неправильно сортирует большие значения, когда они превышают максимальное значение Integer. Как я могу использовать TableRowSorter для сортировки лонгов?


person Sean    schedule 01.07.2010    source источник


Ответы (3)


но TableRowSorter, кажется, обрабатывает числа как целые числа, таким образом, неправильно сортируя большие значения, когда они превышают максимальное целочисленное значение

Это потому, что по умолчанию данные, добавляемые в таблицу, обрабатываются как строка. Вам нужно переопределить метод getColumnClass() вашей TableModel, чтобы вернуть правильный класс данных в столбце, и сортировщик строк будет использовать соответствующий компаратор для этого типа данных.

person camickr    schedule 01.07.2010

Вы можете попробовать укажите свой собственный компаратор, который предоставит подробную информацию о том, как сравнивать значения.

person Community    schedule 01.07.2010

Рассматривайте эти длинные числа как строки, и сортировщик строк таблицы отсортирует их правильно.

person Boris Pavlović    schedule 01.07.2010