Определите класс для хранения вашего предмета. Похоже, вы хотите, чтобы это была строка.
Для этого класса вам необходимо определить интерфейс Comparable и сравнить логику с его абстрактным методом.
int compareTo(T o)
Например:
class MyString extends String
{
@Override
int compareTo(Object obj)
{
// put your logic in here.
// Return -1 if this is "less than" obj.
// Return 0 if this is equal to obj
// Return 1 if this is "greater than" obj.
// Test length first
if (length() < obj.length())
return -1;
if (length() > obj.length())
return 1;
// Lengths are the same, use the alphabetical compare defined by String already
return super.compareTo(obj);
}
}
Отказ от ответственности, я фактически не проверить этот код, но он должен быть близок к тому, что вы хотите.
любым шансом, домашнее задание? –
Нет, просто есть тонна файлов, которые я хотел бы переименовать очень быстро. Они пронумерованы, но числа нужно немного сдвинуть, а остальная часть имени файла изменилась. Но естественное упорядочение операционной системой обычно возвращает 1 10 11 12 13 14 15 16 17 18 19 2 20 и т. Д. – Brian
Вы пробовали использовать только нулевые цифры в своих номерах? IE, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11. –