enum其实挺好用的,特别是对于一些固定的东西!
package com.pki.test;
import sun.security.pkcs11.wrapper.CK_MECHANISM;
enum KeyAlg {
// 枚举常量放在第一行
SM2("SM3withSM2"), RSA("SHA1withRSA");
public final int keySize;
public final String signName;
public final CK_MECHANISM mechanism;
public final CK_MECHANISM signMechanism;
public final boolean isSM2;
// 枚举的构造必须是私有的
private KeyAlg(String signName) {
this.signName = signName;
if (name().equals("SM2")) {
keySize = 256;
mechanism = new CK_MECHANISM(0x80008201L);
signMechanism = new CK_MECHANISM(0x80008101L);
isSM2 = true;
} else {
keySize = 1024;
mechanism = new CK_MECHANISM(0x80008201L);
signMechanism = new CK_MECHANISM(0x1L);
isSM2 = false;
}
}
// 空构造是默认的
private KeyAlg() {
keySize = -1;
signName = null;
mechanism = null;
signMechanism = null;
isSM2 = false;
}
}
public class EnumTest {
static KeyAlg keyAlg = KeyAlg.RSA;
public static void main(String[] args) {
// 枚举常量的名
System.out.println(keyAlg.name());
// 该常量在枚举中的位置
System.out.println(keyAlg.ordinal());
// 通过name得到枚举常量
System.out.println(KeyAlg.valueOf("SM2").name());
}
}
分享到:
相关推荐
php-enum, PHP Enum实现灵感来自 SplEnum PHP enum 实现来自 SplEnum 为什么?首先,SplEnum 并不集成到PHP中,你必须单独安装它。使用 enum 而不是类常量提供了以下优点:你可以键入提示: function setAction(Ac
Enum.doc Enum.docEnum.doc Enum.doc Enum.doc Enum.doc Enum.doc Enum.doc Enum.doc
Enum的用法Enum的用法Enum的用法Enum的用法
常见的enum类型重定义的解决方法,清晰明了。
enum枚举的方法
用于枚举磁盘设备的 Enumdisk 示例
选项Swift软件包,用于更强大的Enum类型。 目录介绍特征安装用法设置一个MappedValueRepresentable枚举使用MappedValueCollectionRepresented 使用MappedEnum类型的可编码枚举在ESet中使用OptionSet中的EnumSet 将...
enum测试代码
一个分析 enum 结构分析 源码资源
Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类...
Laravel开发-enum PHP的枚举实现
java enum详细教程。由浅入深,包括基本语法方面..很适合新手学习。/n各位看官。绝对超值。
opc enum 32_64安装包
static_enum::get_enumerators创建具有所有枚举值(按值排序)的std::array<Enum> static_enum::enum_cast可以像static_cast一样用于将枚举转换为字符串或从枚举创建字符串 static_enum::to_string从枚举变量获取...
在C++中,枚举类型分为不限定作用域(enum)和限定作用域(enum class)。 2. enum与enum class的区别? (为什么需要限定作用域?) 答:枚举作用域是指枚举类型成员名字的作用域,起自其声明之处,终止枚举定义...
enum.docx ,详细介绍了enum的用法,枚举用法在c#中比较常见,希望会有帮助哦
简单介绍了DNS和ENUM的原理及在IMS网络中的使用
enum李兴华视频笔记,绝对值得看!
博文“Java 语言中 Enum 类型的使用介绍”的源码。
C++中枚举类型(enum)