Java 如何在switch语句中使用neo4j关系类型?
在ReqsDb.java中,我有: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
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获取行为的标准方法吗?