Почему нет javafx.util.pair? Это ошибка в затмении? - PullRequest
0 голосов
/ 30 апреля 2020

Я использую jdk11 в Eclipse и нет библиотеки для пары? или мне нужно добавить внешние банки?

1 Ответ

2 голосов
/ 30 апреля 2020

Добавление библиотек OpenJFX в ваш проект

OpenJFX, реализация JavaFX с открытым исходным кодом, размещенная в проекте OpenJDK, не входит в комплект многих сборок OpenJDK, поставляемых некоторыми поставщиками.

Вы должны выбрать одно из этих трех решений:

  • Загрузить библиотеки OpenJFX и вручную добавить в свой проект
  • Использовать инструмент для построения зависимостей и построения, такой как Maven или Gradle для загрузки и установки библиотек OoenJFX.
  • Получите сборку OpenJDK от поставщика, который решит связать библиотеку OpenJFX. Единственное, что мне известно, это Liberica от BellSoft.

Другие «парные» решения

Если вы не создаете JavaFX gui приложений, и просто хотите, чтобы класс содержал пару значений, таких как ключ-значение , а затем добавление реализации JavaFX для получения javafx.util.Pair является излишним. Ищите альтернативу.

Одной из альтернатив является написание собственного Pair класса. Достаточно просто.

Другой альтернативой является использование интерфейса Map.Entry, встроенного в Java. Встроены две реализации, одна изменяемая и одна неизменяемая.

Как следует из названия, первоначальная цель этого класса состоит в том, чтобы содержать пару ключ и значение как запись в объекте реализации Map. Но некоторые люди используют этот интерфейс и классы отдельно, без карты.

Пример. Давайте отследим, кто работает над определенным днем ​​недели .

AbstractMap.SimpleImmutableEntry< DayOfWeek , String > dayWorker = 
        new SimpleImmutableEntry<>( 
            DayOfWeek.WEDNESDAY , 
            "Alice" 
        )
;

DayOfWeek dow = dayWorker.getKey() ;    // DayOfWeek.WEDNESDAY
String worker = dayWorker.getValue() ;  // "Alice"
...