Heim > Java > javaLernprogramm > Hauptteil

Wie kann ich einen natürlichen String-Vergleich in Java erreichen?

DDD
Freigeben: 2024-11-04 06:32:01
Original
536 Leute haben es durchsucht

How Can I Achieve Natural String Comparison in Java?

Natürlicher String-Vergleich in Java: Ist er integriert?

Die Java String-Klasse und die Comparator-Klasse unterstützen den natürlichen String-Vergleich nicht direkt. die der menschenlesbaren Reihenfolge Vorrang vor der lexikalischen Reihenfolge einräumt. Dies ist besonders wichtig, wenn Versionszeichenfolgen oder Dateinamen verglichen werden, die komplexe numerische Muster enthalten.

Um diesem Bedarf gerecht zu werden, stellen externe Bibliotheken benutzerdefinierte Implementierungen bereit. Eine beliebte Option ist der NaturalOrderComparator aus dem Cougaar-Projekt. Es folgt einer Reihe von Regeln, die die natürliche Reihenfolge von Zeichenfolgen bestimmen, z. B. dass „10“ trotz ihrer alphabetischen Reihenfolge größer als „5“ ist.

Hier ist ein Beispiel für ein Java-Snippet, das den NaturalOrderComparator verwendet:

<code class="java">import org.cougaar.util.Comparisons;
import java.util.Arrays;

public class NaturalStringComparison {

    public static void main(String[] args) {
        String[] strings = {"image1.jpg", "image9.jpg", "image10.jpg", "1.2.9.1", "1.2.10.5"};

        // Sort using natural order
        Arrays.sort(strings, new Comparisons.NaturalOrderComparator());

        // Expected output:
        // [image1.jpg, image9.jpg, image10.jpg, 1.2.9.1, 1.2.10.5]
        System.out.println(Arrays.toString(strings));
    }
}</code>
Nach dem Login kopieren

Durch die Nutzung dieser externen Bibliothek können Sie bequem einen natürlichen String-Vergleich in Ihren Java-Programmen erreichen, ohne das Rad neu erfinden zu müssen. Es hilft dabei, die beabsichtigte Reihenfolge der Zeichenfolgen beizubehalten, wodurch es für verschiedene Szenarien geeignet ist, in denen eine für Menschen lesbare Sortierung gewünscht ist.

Das obige ist der detaillierte Inhalt vonWie kann ich einen natürlichen String-Vergleich in Java erreichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage