相关疑难解决方法(0)

通过其内部领域获得枚举

有内场,地图的枚举.

现在我需要通过其内部领域获得枚举.

写道:

package test;

/**
 * Test enum to test enum =)
 */
public enum TestEnum {
    ONE(1), TWO(2), THREE(3);

    private int number;

    TestEnum(int number) {
        this.number = number;
    }      

    public TestEnum findByKey(int i) {
        TestEnum[] testEnums = TestEnum.values();
        for (TestEnum testEnum : testEnums) {
            if (testEnum.number == i) {
                return testEnum;
            }
        }
        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是每次我需要找到合适的实例时,查看所有枚举并不是非常有效.

有没有其他方法可以做同样的事情?

java enums

32
推荐指数
2
解决办法
2万
查看次数

我可以根据其字段的值获得枚举吗?

我想根据其字段值获取特定的枚举.

枚举:

public enum CrimeCategory {
    ASBO ("Anti Social Behaviour"),
    BURG ("Burglary"),
    CRIMDAM ("Criminal Damage And Arson"),
    DRUGS ("Drugs"),
    OTHTHEFT ("Other Theft"),
    PUPDISOR ("Public Disorder And Weapons"),
    ROBBERY ("Robbery"),
    SHOPLIF ("Shoplifting"),
    VEHICLE ("Vehicle Crime"),
    VIOLENT ("Violent Crime"),
    OTHER ("Other Crime");

    private  String category;


    private CrimeCategory (String category) {
        this.category = category;
    }

    public String returnString() {
        return category; 
    }
}
Run Code Online (Sandbox Code Playgroud)


获得一个新的枚举:

aStringRecivedFromJson = "Anti Social Behaviour"
CrimeCategory crimeCategoryEnum;
crimeCategoryEnum = CrimeCategory.valueOf(aStringRecivedFromJson); 
Run Code Online (Sandbox Code Playgroud)

我一直试图找到一种方法,以便上面带回一个枚举,以便它可以传递存储在HashMap其他Crime信息中.

预期结果: ASBO

java string enums

21
推荐指数
3
解决办法
1万
查看次数

如何通过其属性获取枚举类型?

我写了一个枚举类,我想要按类型获取属性并获取type by属性,但似乎不可能.

public enum AreaCode {
    area1(7927),
    area2(7928),
    area3(7929);

    private final int ac;

    AreaCode(int ac) {
        this.ac = ac;
    }

    int areaCode(){
        return ac;
    }

    AreaCode area(int n) {
        switch (n) {
            case 7927: return AreaCode.area1;
            case 7928: return AreaCode.area2;
            case 7929: return AreaCode.area3;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码不会编译.如何area(int n)上班?

java enums

9
推荐指数
3
解决办法
2万
查看次数

标签 统计

enums ×3

java ×3

string ×1