public Boolean stringToBool(String value)
{
return ( value.toUpperCase() == "TRUE" ) ? true : false;
}
public Double stringToDouble(String value)
{
return ( value == null ) ? null : Double.valueOf(value);
}
public class MyClass
{
private enum ENUM1 {
HIGH,
MED,
LOW
}
private enum ENUM2 {
DIFFICULT,
MODERATE,
EASILY
}
private Integer id;
private String designSpec;
private Double maxThickness;
private ENUM1 enum1;
private Boolean springs;
private ENUM2 enum2;
public Alloy()
{
}
public Alloy(String designSpec,
String maxThickness,
String enum1, String enum2, String springs)
{
this.designSpec = designSpec;
this.maxThickness = stringToDouble(maxThickness);
this.enum1 = stringToEnum(ENUM1.class, enum1);
this.enum2= stringToEnum(ENUM2.class, enum2);
this.springs = stringToBool(springs);
}
public Boolean stringToBool(String value)
{
return ( value.toUpperCase() == "TRUE" ) ? true : false;
}
public Double stringToDouble(String value)
{
return ( value == null ) ? null : Double.valueOf(value);
}
public Enum stringToEnum(Class enumType, String value)
{
return ( value == null ) ? null : Enum.valueOf(enumType, value);
}
ENUM1和ENUM2是不同的类;它们都扩展了java.lang.Enum。您可以编写一个将枚举作为参数的方法,并将它们中的任何一个传递给该方法。为了执行您所说的操作,您必须使用instanceof来确定传入的是哪个类,以便对它执行任何特定的操作。
我还没有尝试过,但您可以使用常规枚举方法在字符串和枚举之间进行转换,只要字符串与这些枚举匹配或声明为等效的。请查看枚举方法toString()和valueOf()以确定它们是否适合您。
您还可以有两个方法,一个接受ENUM1,一个接受Enum2;他们无论如何都不能共享代码。
问题内容: 在Java中,我有: 我希望本机方法“ nativeGetStatus”返回此枚举值。 JNI返回整数并与java中的enum的值进行比较是一个选项,但是想知道是否可以通过jobject返回值并将其直接分配给state吗?如果是,怎么办? 问题答案: 当然可以。枚举值是Enum类的公共静态字段,因此您可以使用此官方手册编写代码。只需从JNI获取字段并将其作为jobject返回即可。
问题内容: 我想声明一个枚举Direction,它具有一个返回相反方向的方法(以下语法不正确,即,不能实例化枚举,但它说明了我的观点)。这在Java中可行吗? 这是代码: 问题答案: 对于那些按标题吸引的人:是的,您可以在枚举中定义自己的方法。如果您想知道如何调用这种非静态方法,则可以使用与其他任何非静态方法相同的方法- 在定义或继承该方法的类型实例上调用它。如果是枚举,则此类实例仅为s。 因此,
我有一个实体,有一个枚举类型字段和一个具有相同枚举类型和字段名的DTO。 我使用modelMapper创建一个新对象,不需要额外的配置。 但在将dto映射到实体对象后,实体对象上的性别为空。 对象有性别,我已经检查了很多。 请帮我理解这个问题。
我的模式如下 我正在尝试编写一个方法来检查代码并返回相应的枚举。 event.getStatusCode的有效值是:A,T,U。现在我需要检查这些代码并根据代码返回枚举。我尝试了上面的方法,但它给我代码=["A"]的错误。下面是错误状态。 我该怎么解决这个问题?我是java新手。非常感谢您的帮助,谢谢
我想用:调用它。但它不喜欢:
我正在尝试为此方法返回NotFound,但收到以下错误: 不明白应该怎么投,参数等于“1”想退一个404 我只需要这样做: