2

我在使用“-”分隔的字符串在 Java 中创建枚举时遇到问题:

public enum CipherList{

   RSA-MD5,AES128-SHA,AES256-SHA;
}

我收到编译错误。

4

3 回答 3

7

-符号不能用于 Java 中的标识符中。(如果并且恰好是整数,将如何RSA-MD5解析?)RSAMD5

我建议你使用

RSA_MD5, AES128_SHA, AES256_SHA;

根据常量相关问题的 Java 编码约定。

于 2012-05-23T07:17:46.980 回答
3

枚举常量必须使用有效的 Java 标识符,并且标识符不允许包含破折号。

例如,您可以将破折​​号替换为下划线:

public enum CipherList{
   RSA_MD5, AES128_SHA, AES256_SHA;
}
于 2012-05-23T07:18:10.777 回答
3

如果您想使用枚举使用精确的字符串,您可以使用以下方法。

enum CipherList{
   CHIP_ONE("RSA-MD5"),CHIP_TWO("AES128-SHA"),CHIP_THREE("AES256-SHA");
   private String code;
   CipherList(String code) {
      code= code;
   }
   String getcode() {
      return code;
   } 
}
于 2012-05-23T07:27:21.070 回答