Java 通过将枚举(无值)作为参数传递来实例化类
我想实例化一个类,该类的实例变量类型为Java 通过将枚举(无值)作为参数传递来实例化类,java,enums,Java,Enums,我想实例化一个类,该类的实例变量类型为enum。此enum没有奇怪的值。创建此类的对象时,我必须将此enum作为参数传递,但我不确定如何在没有任何值的情况下传递enum 类别: public class AddressStandardizationRequestParameter extends RequestParameter <AddressStandardizationRequestParameter.PARAMETERS, String> { public enum
enum
。此enum
没有奇怪的值。创建此类的对象时,我必须将此enum
作为参数传递,但我不确定如何在没有任何值的情况下传递enum
类别:
public class AddressStandardizationRequestParameter extends RequestParameter <AddressStandardizationRequestParameter.PARAMETERS, String> {
public enum PARAMETERS { };
public AddressStandardizationRequestParameter(PARAMETERS key, String value) {
super(key, value);
}
}
公共类AddressStandardizationRequestParameter扩展了RequestParameter{
公共枚举参数{};
public AddressStandardizationRequestParameter(参数键、字符串值){
超级(键、值);
}
}
我知道如果这个枚举有值,我可以说
参数。enumcontent
,但在上面的情况下,我该怎么做?枚举类型不能用“new”实例化
枚举只能由枚举常量列表及其方法使用
因此,不能将空枚举作为arg传递给方法。唯一的选项是传递
null
。是否希望枚举具有值,但不希望使用特定的枚举(允许类的实例具有不同的类型)?还是希望它实际上是一个空枚举?@Mark。我传递了null,但在Cobertura报告中,它显示Undercovered。@Yousuf Undercovered是什么?枚举还是构造函数?无论哪种方式,您都不必在意,因为没有枚举实例,所以您无法对它执行任何操作(除了null
)。实际上,这是某种遗留代码,我正在为此编写Junit测试用例。因此,在创建它的实例时,我面临这个问题,我认为它应该是一个空枚举。null
对于枚举引用总是一个有效值。@Sahar。我没有实例化枚举。我只是尝试在构造函数中传递一个没有任何值或常量的枚举。正如其他人所提到的,null是一个有效值,这也是枚举的默认值,但如果我传递null,我就得不到代码覆盖率。@biziclop,当然null是有效的,但这不是Yousuf所要求的。@Yousuf,将枚举作为arg传递意味着它需要用某个值实例化。只有当枚举有常量列表时才会发生这种情况。@Sahar,你是对的,但我认为在我的例子中,没有必要再测试这段代码了,因为它没有常量。