11
Cho một lớp có chứa một enum:Làm cách nào để tham chiếu một loại lồng nhau trong Spel?
public class MyClass {
public enum NestedEnum {
value1(1),
value2(2);
private int code;
private NestedEnum(int code) {
this.code = code;
}
public int getCode() {
return code;
}
}
}
làm thế nào để tôi tham khảo NestedEnum? Đây:
#{T(MyClass.NestedEnum).value1.getCode()}
kết quả trong ngoại lệ:
org.springframework.expression.spel.SpelEvaluationException: EL1005E:(pos 0): Type cannot be found 'namespace.MyClass.NestedEnum'
này:
#{T(T(MyClass).NestedEnum).value1.getCode()}
kết quả trong ngoại lệ:
org.springframework.expression.spel.SpelParseException: EL1043E:(pos 3): Unexpected token. Expected 'rparen())' but was 'lparen(()'
Tôi không thể nghĩ ra bất kỳ tùy chọn tốt khác thử.
Nó sẽ được tốt hơn để xác định 'Type'-> 'thay đổi NestedEnum' trong câu trả lời của bạn, để thay thế? Thông thường 'sai' mã trong câu hỏi nên được để lại một mình, để sửa chữa trong một câu trả lời có thể được rõ ràng hơn. – sarnold
Đây cũng là một giải pháp, nhưng tôi cho rằng nó sẽ làm giảm khả năng hiểu được câu trả lời. Tôi cũng giả định, đó là một lỗi sao chép và dán của người hỏi.Neverteheless, cảm ơn gợi ý của bạn. – micfra