一种从值转为枚举的方法
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Documentación
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- java
- Área
- documentation
Línea de trabajo
The issue provides a Java StatusEnum example for mapping an integer value to an enum, but it names no repository file, test, or documentation entry point. First identify where this explanation belongs and confirm the expected contribution; done should mean the example and its class-loading explanation are added in the agreed location.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
代码示例:
public enum StatusEnum {
CREATING(0),
PUBLISHED(1),
FINISHED(2);
private final int status;
StatusEnum(int status) {
this.status = status;
}
public int getStatus() {
return status;
}
private static final Map<Integer, StatusEnum> mapper = new HashMap<>(3);
static {
Arrays.stream(StatusEnum.values()).forEach(
statusEnum -> mapper.put(statusEnum.getStatus(), statusEnum)
);
}
/**
* 将status值转为枚举.
*/
public static StatusEnum fromStatus(final Integer status) {
if (status == null) {
return null;
}
return mapper.get(status);
}
}
枚举的实现原理是:
- 枚举值实际上是
public static final的字段 - 枚举不允许在枚举值之前存在任何代码
- 对
fromStatus的调用导致StatusEnum类加载,而类加载后枚举字段已被初始化完毕,所以这样是行得通的
- Lenguaje dominante
- Java
- Estrellas
- 2k
- Forks
- 716
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de seaswalker/jdk-sourcecode-analysis
-
求一个HttpConnectionSocketImpl的源码分析Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 20/100
-
JMM和Linux内存屏障定义Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
-
令人迷惑的volatile例子(三)Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 18/100
-
令人迷惑的volatile例子(二)Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
-
内存屏障(对硬件)Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
Todos los issues de seaswalker/jdk-sourcecode-analysis
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
devops-thiago/ThrillhouseBot#1093 ·
Los mantenedores suelen responder en 1 día
-
Missing htmx attribute processorAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
wimdeblauwe/htmx-spring-boot#205 ·
-
[BUG] 增量 SSE 解析器未识别单独 CR 换行,导致事件无法及时交付Posiblemente ocupada @king-wwwhhh la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
langchain4j/langchain4j#6669 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
OpenAPITools/openapi-generator#25237 ·
Los mantenedores suelen responder en 1 día
-
needs-area-label
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día