我们在我们的项目中使用了三个十后端口,因为我们的一位客户正在使用 Java 7。三个十后端口为我们提供了 Java 8 中引入的新日期时间功能 (java.time.*)。
我想知道以下是否是一个好习惯。由于我们的大多数客户都在使用 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 库将被优先加载并加载,但我可能是错的。
做这个好习惯吗?或者它会产生编译器警告/错误?即使它没有产生任何警告或错误,它仍然是一个不好的做法吗?我很想这样做,因为通过一个包完全限定一个类是很丑陋的,如果我们最终删除了三个十依赖项,那么我们将不得不更改该代码的每个实例,而不是仅仅删除 import 语句。很高兴听到你的想法。