„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie vergleicht ich die Versionszeichenfolgen in Java zuverlässig?

Wie vergleicht ich die Versionszeichenfolgen in Java zuverlässig?

Gepostet am 2025-02-06
Durchsuche:243

How to Reliably Compare Version Strings in Java?

Vergleich von Versionszeichenfolgen in java

Vergleich von Versionszeichenfolgen erfordert einen speziellen Ansatz, da ein konventioneller String -Vergleich möglicherweise nicht die Punktveröffentlichungen und die Punktveröffentlichungen berücksichtigen kann und nicht die Point -Releases und -Angänge berücksichtigen kann führende Nullen. Um dies zu beheben, ist eine standardisierte Methode erforderlich, um Versionsnummern genau zu vergleichen.

Eine umfassende Lösung beinhaltet das Erstellen einer benutzerdefinierten Versionsklasse, die vergleichbare implementiert. Diese Klasse sollte die Versionszeichenfolge in einzelne Teile analysieren, die durch Perioden getrennt sind.

public class Version implements Comparable {

    private String version;

    // ...

    @Override
    public int compareTo(Version that) {
        // ...
    }
}

In der Vergleichsmethode können die Versionsteile beider Objekte nacheinander verglichen und das Ergebnis basierend auf dem Vergleichsergebnis zurückgegeben werden.

&&&] Version a = neue Version ("1.1"); Version B = neue Version ("1.1.1"); int vergleicheResult = A. compareto (b); // -1 (a

Version a = new Version("1.1");
Version b = new Version("1.1.1");

int comparisonResult = a.compareTo(b); // -1 (a  Zusätzliche Funktionen: 

Dieser Ansatz bietet nicht nur einen zuverlässigen Vergleich, sondern unterstützt auch zusätzliche Funktionen wie die Bestimmung der Minimal- und Maximalversionen aus einer Liste.

list fusions = new ArrayList (); Versionen.Add (neue Version ("2")); Versionen.Add (neue Version ("1.0.5")); Versionen.Add (neue Version ("1.01.0")); Versionen.ADD (neue Version ("1.00.1")); Version minversion = collections.min (Versionen) .get (); // Rückgabe "1.0.0.1" Version maxversion = collections.max (Versionen) .get (); // Gibt "2"

Version a = new Version("1.1");
Version b = new Version("1.1.1");

int comparisonResult = a.compareTo(b); // -1 (a  Hinweis: 

Es ist wichtig, Sonderfälle zu berücksichtigen, in denen Versionen unterschiedliche Nummern von Teilen haben, führende Neiden Charaktere. Robustes Umgang mit solchen Szenarien gewährleistet genaue Vergleiche.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3