我有一个带有数百个配置常量的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 );
有没有办法做到这一点,并且对于常量仍然具有有意义的类名?还是应该使用其他方法?
答案是Static import
,您可以使用以下方法解决:
import static mynamespace.MyClassConstants.*;
另请参阅 :
问题内容: 我正在尝试访问我的一个班级中的班级常量: 如果我有一个变量,该变量持有此常量的名称,如下所示: 我可以通过某种方式访问MY_CONST的值吗? 显然不起作用,因为它用于静态属性。变量变量也不起作用。 问题答案: 有两种方法可以执行此操作:使用常量函数或使用反射。 常数函数 常量函数与通过声明的常量以及类常量一起使用: 反思班 第二种更费力的方法是通过反思:
问题内容: 在转到教程的第2天中,有以下练习: 为什么使用具有导出字段的私有类型可能会有用吗? 例如: 请注意,这是小写的,因此不会导出,而字段X和Y是大写的,因此是。在我看来,要访问导出的字段之一,您将必须能够编写类似的内容。 但是为了使之成为可能,p必须具有这样的声明: 要么 但是,这是不可能的(afaik),因为不会导出point的类型声明。 问题答案: 但是您可以有一个公共构造函数,对吗?
问题内容: 如果我在Foo中有一个恒定的BAR,我将在C类中使用它, 我可以在Eclipse中使用Ctrl-Shift-M(将光标放在BAR上)来创建静态导入,例如: 我目前正在用字面上的数千个我想转换为静态导入的遗留代码进行更新。Ctrl-Shift-O /组织导入不执行此操作。我错过了一个窍门吗? 编辑:实际上,我更希望使用一种方法来告诉Eclipse,我想让Ctrl-Shift- M在此特定
我们继承了一大套代码,这些代码只需要进行最少的测试。我正在寻找更新和创建测试。 我们有一个简单的bean,它有一个私有字段,使用@value注入一个常量。这个bean是由使用private@value的多段代码构造和传递的。我想设置一个测试套件,以便总是为bean的任何实例化版本的@value注入一些常量。
我有一个带有多个输入标记的简单HTML表单。在页面加载时,我向表单提供数据,以从数据库回显字段的当前值,然后用户可以修改这些值并再次提交以执行更新。 代码运行良好,只是它不显示完整的变量。 例如,如果$namember='Saurabh Pradhan'than'而不是将'Saurabh Pradhan'显示为输入标记的值,则只显示'Saurabh'。 如果我从数据中删除空格并将其设置为“Saur
问题内容: 我正在研究一个示例程序来回答关于SO的另一个问题,但发现自己对以下代码无法编译的事实感到困惑。 https://play.golang.org/p/wxBGcgfs1o 错误是; 是否可以在静态初始化程序中从嵌入式类型设置字段的值?怎么样?在我看来,这似乎是一个编译器错误;如果我前面没有源代码并且熟悉类型,那么我会在墙上碰头说“显然FName存在于B上,编译器在说什么!!!!!”。 很