Java 如何在switch语句中使用neo4j关系类型?

Java 如何在switch语句中使用neo4j关系类型?,java,enums,switch-statement,neo4j,Java,Enums,Switch Statement,Neo4j,在ReqsDb.java中,我有: public static enum RelTypes implements RelationshipType { IDENTIFIES, IS_MEMBER } 在另一节课上,我有: ReqsDb reqsDb = new ReqsDb(); for (Relationship rel : reqsDb.getAllRelationships()) { switch (rel.getType()) { case reqsD

在ReqsDb.java中,我有:

public static enum RelTypes implements RelationshipType {
    IDENTIFIES, IS_MEMBER
}
在另一节课上,我有:

ReqsDb reqsDb = new ReqsDb();

for (Relationship rel : reqsDb.getAllRelationships()) {
    switch (rel.getType()) {
        case reqsDb.RelTypes.IDENTIFIES:
            doStuff();
        case reqsDb.RelTypes.IS_MEMBER:
            doOtherStuff();
    }
}
然而,编译器抱怨不兼容的类型,并声称

reqsDb.RelTypes.IDENTIFIES
不是一个常量表达式


无法在switch语句中使用enum implements RelationshipType,还是我做错了?

您可以尝试这样做:
switch(reqsDb.RelTypes.valueOf(rel.getType().getName())
RelationshipType没有我知道的方法。有RelationshipType.name()但是它会返回一个字符串…这对我使用的版本中的switch语句没有好处。我不喜欢switch语句,事实上我已经开始使用if语句了。但是你知道基于RelationshipType获取行为的标准方法吗?