Java条件导入

use*_*174 16 java

如何在Java中使用条件导入,就像我们ifdefs在C中一样.这就是我想要实现的目标

ifdef TEST
import com.google.mystubs.swing;
elif
import javax.swing.*;
endif
Run Code Online (Sandbox Code Playgroud)

Jig*_*shi 17

您没有使用java进行条件导入

但您可以使用完全限定名称有条件地使用具有相同名称的不同类

例如:

if(useSql){
  java.sql.Date date = new java.sql.Date()
}else{
  java.util.Date date = new java.util.Date()
}
Run Code Online (Sandbox Code Playgroud)

  • 如果两个日期都实现了通用接口,那么这只会带来好处. (2认同)

Sco*_*pta 5

您可以使用传统的 if 语句,然后Class.forName("example.ExampleClass")返回一个Class可以调用的对象,而不是导入do Class.newInstance()。它将允许您避免可能不存在的依赖项的编译时错误,并执行类似于条件导入的操作。