我有一个带有数百个配置常量的Java程序:

public static final String C1="C1";
public static final String C2="C2";

由于它们太多,因此我将它们放在一个单独的类MyClassConstants中。
现在,我需要在MyClass上使用它们:
import mynamespace.MyClassConstants;
myMethod( MyClassConstants.C1, MyClassConstants.C2 );

这变得非常冗长,所以我想知道是否可以通过某种方式直接导入字段:
import mynamespace.MyClassConstants.*;
myMethod( C1, C2 ); //doesn't work

或者至少要重命名导入:
import mynamespace.MyClassConstants as C; //javac hates me
myMethod( C.C1, C.C2 );

但是it seems this later approach is impossible

有没有办法做到这一点,并且对于常量仍然具有有意义的类名?还是应该使用其他方法?

最佳答案

答案是Static import,您可以使用它来解决:
import static mynamespace.MyClassConstants.*;
另请参见:

  • Static import
  • Java doc: static import
  • 07-26 05:16