«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как надежно сравнивать строки версий в Java?

Как надежно сравнивать строки версий в Java?

Опубликовано в 2025-02-06
Просматривать:736

How to Reliably Compare Version Strings in Java?

Сравнение строк версий в Java

] Сравнение строк версий требует специализированного подхода, поскольку обычное сравнение строк может не учитывать точечные выбросы Ведущие нули. Чтобы разрешить это, необходим стандартизированный метод для точного сравнения номеров версий. Этот класс должен анализировать строку версии в отдельные части, разделенные периодами. Приватная строковая версия; // ... @Override public int compareto (версия) { // ... } }

внутри метода CompareTo, части версии обоих объектов можно сравнить в последовательности, и результат, возвращаемый на основе результата сравнения.

public class Version implements Comparable {

    private String version;

    // ...

    @Override
    public int compareTo(Version that) {
        // ...
    }
}
Пример использования:

версии a = new Version ("1.1"); Версия B = новая версия ("1.1.1"); int comparisionResult = 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  

] Этот подход не только обеспечивает надежное сравнение, но и поддерживает дополнительные функциональные возможности, такие как определение минимальных и максимальных версий из списка. [ list versions = new ArrayList (); Versions.Add (новая версия ("2")); Versions.Add (новая версия ("1.0.5")); Versions.Add (новая версия ("1.01.0")); Versions.Add (новая версия ("1.00.1")); Версия minversion = collections.min (версии) .get (); // возвращает "1.0.0.1" Версия maxversion = collections.max (версии) .get (); // возвращает "2"

примечание:
public class Version implements Comparable {

    private String version;

    // ...

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

] важно рассмотреть особые случаи, когда версии могут иметь различное количество частей, используйте ведущие нули или содержит неметральные персонажи. Надежная обработка таких сценариев обеспечивает точные сравнения. ]

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3