首页 > 编程语言 >Java 枚举传参获取值

Java 枚举传参获取值

时间:2023-12-13 09:24:32浏览次数:31  
标签:传参 Java SaleTypeStrEnum 枚举 static saleTypeStr public

平常常用的根据传参获取枚举值

public enum SaleTypeStrEnum{
  JX,
  // OTHERS 
  ;
  public static SaleTypeStrEnum getByName(String saleTypeStr){
    for (SaleTypeStrEnum value : SaleTypeStrEnum.values()) {
      if(value.name().equals(saleTypeStr)){
        return value;
      }
    }
    return null;
  }
}

每次传进来值都要遍历整个枚举,O(n)效率太低了,还是老规矩,空间换时间。

public enum SaleTypeStrEnum{
  JX,
  // OTHERS
  ;

  /**
    * 预热转换关系到内存
    */
  private static Map<String, SaleTypeStrEnum> NAME_MAP = Arrays.stream(SaleTypeStrEnum.values()).collect(Collectors.toMap(SaleTypeStrEnum::name, Function.identity()));
  public static SaleTypeStrEnum getByName(String saleTypeStr){
    return NAME_MAP.get(saleTypeStr);
  }
}

以上两种都可以实现,根据使用情况看用哪种

标签:传参,Java,SaleTypeStrEnum,枚举,static,saleTypeStr,public
From: https://www.cnblogs.com/Linzj5950/p/17898280.html

相关文章

  • 【THM】子域枚举
    子域名枚举分为三种我们将探索三种不同的子域枚举方法:蛮力、OSINT(开源智能)和虚拟主机。OSINT-SSL/TLS证书SSL/TLS证书什么时候SSL/TLS(安全套接字层/传输层安全)证书由CA(证书颁发机构)为域创建,CA参与所谓的“证书透明度(CT)日志”。这些是为每个SSL/TLS证书创建的每个S......
  • JavawebDay2JavaScript
      1.脚本:不用经过编译2.与Java语言完全不同但是基础语法类似一:js引入方式   第一种:   第二种  1*alert:当进入文档时会跳出一个警告框。suchas:二:js基础语法    1书写语法   2输出语句window.可以省略三:基础语法1变量   var特点:a:......
  • 头歌——HBase 开发:使用Java操作HBase
    第1关:创建表题目任务描述本关任务:使用Java代码在HBase中创建表。相关知识为了完成本关任务,你需要掌握:1.如何使用Java连接HBase数据库,2.如何使用Java代码在HBase中创建表。如何使用Java连接HBase数据库Java连接HBase需要两个类:HBaseConfigurationConnectionFactoryHBas......
  • 无涯教程-Java - for 语句函数
    for循环是一种重复控制结构,可让您有效地编写需要执行特定次数的循环。for-语法for(initialization;Boolean_expression;update){//Statements}for-示例以下是Java中for循环的示例代码。publicclassTest{publicstaticvoidmain(Stringargs[]){......
  • Java变量
    JAVA变量局部变量:必须声明和初始化值作用域在方法体内类变量:也叫静态变量static作用域:在整个类中实例变量:作用域:在整个类中常量:publicclassDemo01{​  //常量final  staticfinaldoublePI=3.14;​  //类变量也叫静态变量static作用域:在整个类中......
  • Java方法详解
    Java方法详解1.何为方法类似于其他语言的函数Java方法是语句的集合,共同完成一个功能设计方法的原则:一个方法实现一个功能,有利于后期的管理和拓展!命名:首小写+驼峰命名。2.方法的定义修饰符返回值类型方法名(参数类型参数名){​方法体return返回值;}实参:实......
  • [JavaScript] JS中如何跳出循环/结束遍历
    [JavaScript]JS中如何跳出循环/结束遍历直接抛结论,下表是JS中常用的实现循环遍历的方法的跳出/结束遍历的办法,经过测试后的总结。可能各位大佬还有其他的办法,我在此表示大佬NB。 序号方法breakcontinuereturnreturntruereturnfalse结论1for循环成功跳出本次循......
  • 无涯教程-Java - while 语句函数
    只要给定条件为真(true),Java编程语言中的while循环语句就会重复执行目标语句。while-语法while(Boolean_expression){//Statements}在这里,声明可以是单个语句或语句块。条件可以是任何表达式,并且true是任何非零值。while-示例publicclassTest{publics......
  • Java第八课_构造和静态
    2.面向对象的编程构造publicclassPractice{publicstaticvoidmain(String[]args){Personperson1=newPerson();Personperson2=newPerson("lisi");Personperson3=newPerson("哪吒",3);}}publicclass......
  • Java登陆第二十三天——JavaScript对象、JSON、事件
    JS中声明对象的两种格式方法1,newobject()然后依次添加属性或方法栗子:<script>//初始化对象varuser=newObject();//给对象添加属性并赋值user.name="张三";user.age=18;//给对象添加方法user.say=functi......