Definieren Sie eine Klasse, in der Ihr Objekt gespeichert werden soll. Scheint, als ob Sie ein String sein möchten.
Für diese Klasse müssen Sie die Vergleichsschnittstelle definieren und die zu vergleichende Logik in ihre abstrakte Methode einfügen.
int compareTo(T o)
Zum Beispiel:
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);
}
}
Haftungsausschluss, ich habe eigentlich nicht diesen Code testen, aber es sollte zu schließen, was Sie wollen.
Durch eine Chance, Hausaufgaben? –
Nein, ich habe nur eine Menge Dateien, die ich wirklich schnell umbenennen wollte. Sie sind nummeriert, aber die Zahlen müssen etwas verschoben werden, und der Rest des Dateinamens ändert sich. Aber die natürliche Reihenfolge durch das Betriebssystem gibt in der Regel 1 10 11 12 13 14 15 16 17 18 19 2 20 usw. – Brian
Haben Sie versucht, nur führende Nullen in Ihren Zahlen zu verwenden? IE, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11. –