Мы используем Three Ten Backport в нашем проекте, поскольку один из наших клиентов использует Java 7. Three Ten Backport предоставляет нам новую функцию даты и времени (java.time. *), Представленную в Java 8.
Я хотел бы знать, является ли следующее хорошей практикой.Поскольку большинство наших клиентов используют Java 8, и однажды мы могли бы обновить всех клиентов до Java 8, имеет ли смысл полностью квалифицировать имена классов с помощью org.threeten.bp?В конечном итоге мы можем перевести всех клиентов на Java 8 и удалить эту зависимость, и если мы в конечном итоге сделаем это, то будет меньше изменений кода, если мы просто будем использовать имена классов без префикса пакета.Чтобы привести пример кода, я имею в виду следующее.
import org.threeten.bp.LocalDate Time;
public class Example {
public void example() {
LocalDateTime datetime = // ....
}
}
Вы можете видеть в примере, что я ссылаюсь на LocalDateTime без префикса пакета.В Java 8 будет загружен класс java.time.LocalDateTime или org.threeten.bp.LocalDateTime?Это немного неясно, поскольку в этом коде, в Java 8, есть два плавающих LocalDateTime, один из java.time, а другой из org.threeten.bp.Я предполагаю, что нативная библиотека Java получит приоритет и будет загружена, но я могу ошибаться.
Это хорошая практика?Или он может генерировать предупреждения / ошибки компилятора?Даже если он не генерирует никаких предупреждений или ошибок, может ли это быть плохой практикой?Я испытываю желание сделать это, потому что полная классификация класса пакетом просто уродлива, и если мы в конечном итоге удалим зависимость Three Ten, то нам придется изменить каждый экземпляр этого кода, вместо того, чтобы просто удалять операторы import.Рад слышать ваши мысли.