动态枚举和静态枚举-存储

2020-09-07 23:06发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,动态枚举包含valueOf(最终字符串代码)方法,并从cache.get(key)获取枚举值

valueOf方法的定义是:

 公共静态PaymentStatus valueOf(最终字符串代码)
      {
          最终的字符串键= code.toLowerCase();
          PaymentStatus结果= cache.get(key);
          如果(结果==空)
          {
              PaymentStatus newValue =新的PaymentStatus(代码);
              PaymentStatus上一个= cache.putIfAbsent(key,newValue);
              结果=上一个!= null? 先前的:newValue;
          }
          返回结果;
      }


  

,缓存定义为:

 私有静态最终ConcurrentMap 缓存= new ConcurrentHashMap ();

  

为什么静态枚举不包含valueOf方法? 据此可以说吗?

  • -动态枚举存储在java类中。

  • -静态枚举存储在数据库中。

它们存储在哪里?

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,动态枚举包含valueOf(最终字符串代码)方法,并从cache.get(key)获取枚举值

valueOf方法的定义是:

 公共静态PaymentStatus valueOf(最终字符串代码)
      {
          最终的字符串键= code.toLowerCase();
          PaymentStatus结果= cache.get(key);
          如果(结果==空)
          {
              PaymentStatus newValue =新的PaymentStatus(代码);
              PaymentStatus上一个= cache.putIfAbsent(key,newValue);
              结果=上一个!= null? 先前的:newValue;
          }
          返回结果;
      }


  

,缓存定义为:

 私有静态最终ConcurrentMap 缓存= new ConcurrentHashMap ();

  

为什么静态枚举不包含valueOf方法? 据此可以说吗?

  • -动态枚举存储在java类中。

  • -静态枚举存储在数据库中。

它们存储在哪里?

付费偷看设置
发送
2条回答
wang628962
1楼 · 2020-09-07 23:24.采纳回答

嗨-是静态枚举(无法在运行时创建枚举值;只能在初始化时创建或通过items.xml更新)或动态枚举(可以在运行时创建新的枚举值),这些值 存储在数据库本身中。 您可以使用以下FS查询进行验证:

  SELECT * FROM {枚举值}
  

假设您在items.xml中具有以下枚举定义:

  
         
         
  
  

您可以使用以下ImpEx创建新值:

  INSERT MyEnum; code [unique = true]
  ; new3
  

,然后您可以执行以下FS查询以从数据库中获取此新值:

  SELECT * FROM {枚举值} WHERE {code} ='new3'
  
野沐沐
2楼-- · 2020-09-07 23:34

不客气。

一周热门 更多>