【Java-枚举(Enum)】教程文章相关的互联网学习教程文章

如何删除对Java枚举值的依赖?【代码】

[记住差距:我知道最好的解决方案是完全摆脱枚举,但这不是评论中提到的今天的选项,但是它计划用于(远)未来. 我们有两个部署单元:前端和后端.前端使用枚举并在后端使用枚举作为参数调用EJB服务.但是枚举经常变化,所以我们不希望后端知道它的值. 字符串常量 一个可能的解决方案是使用String常量而不是枚举,但这会在前端引起很多小的变化.我正在寻找一个解决方案,它会在前端产生尽可能少的变化. 包装类 另一种解决方案是使用与枚举具...

java – JSF2枚举h:selectOneMenu【代码】

我正在尝试在JSF2项目中使用带有h:selectOneMenu框的枚举. 到目前为止我得到了什么: 枚举:public enum MyType {TEST,ME; }支持豆:@ManagedBean public class MyBean {private MyType type;public MyType[] getTypes {return MyType.values;}public void setType(MyType type) {this.type = type;}public MyType getType() {return this.type;} }xhtml页面:<h:selectOneMenu id="mySelection" value="#{myBean.type}">...

Java基础教程:枚举类型

Java基础教程:枚举类型 枚举类型枚举是将一具有类似特性的值归纳在一起的方法。比如,我们可以将周一到周日设计为一个枚举类型、彩虹的七种颜色设计为一个枚举类型。 常量实现枚举我们通过定义常量的方式来实现,如下:Public static class RainbowColor { // 红橙黄绿青蓝紫七种颜色的常量定义public static final int RED = 0; public static final int ORANGE = 1; public static final int YELLOW = 2; public static final i...

带有通用类的Java枚举【代码】

我正在从解释的世界转换齿轮,我试图复制我在传递中使用的模式,但在Java中取得了巨大的成功. 缺点是我正在制作一个自定义DAO(不使用Hibernate或类似的东西……最终处理不同的数据库引擎(SQL和NoSQL)将是通用的.为了突破我只是使用MySQL / Prepared Statementments . 我想基本上定义一个DataMapper对象,负责将记录的字段映射到数据库中的字段.我试图封装任何冗余逻辑,以实现将类型转换为数据库期望格式的实现细节.在DataMapper中,我试...

java – ANTLR – 语法和树语法之间的令牌枚举不匹配【代码】

背景 我正在尝试使用AntlrWorks编写一个简单的语法,用于测试指定元素存在(或缺少)的值集的布尔方程.我创建了一个组合的词法分析器/解析器语法,可以产生所需的AST.我还编写了一个相似的树语法,似乎可行(通过AntlrWorks的调试功能). 问题 但是,当我尝试在一个测试程序(即同一程序中的lex,parse和tree parse)中将两者连接在一起时,我得到的错误就像… 第1行:第5行所需的节点(…)循环与输入’和’处的任何内容都不匹配 和 第1:8行不匹...

java – 在Android Studio中重构常量类到枚举【代码】

我想重构使用一类常量来枚举的旧代码,代码已经在代码中的几个地方使用了.(我知道它是possible in eclipse,但是在IntelliJ Refactoring Dialogs没有找到它)当前状态:public class MyConstants {public static String MY_CONSTANT_1 = "MY_CONSTANT_1_VALUE";public static String MY_CONSTANT_2 = "MY_CONSTANT_2_VALUE";public static String MY_CONSTANT_3 = "MY_CONSTANT_3_VALUE"; } public class MyClass {//usage of constan...

java – 调用带有对象引用的枚举作为值,每次调用它时都会创建一个对象吗?【代码】

这成为我关注的主要原因是:public enum Method {POST(new Host().getAssets()),GET("GET"),DELETE("DELETE"),PUT("PUT");private String method;Method(String s) {method = s;}private String getMethod() {return method;} }Host类是Spring @ConfigurationProperties,注释为在运行时从application.properties文件中注入值.如果我把它写为枚举的值,那么每次我使用Method.POST时它会创建一个新的Host对象实例吗?解决方法:不,它只...

java – 枚举类型的默认修饰符字段是什么?

这是一个家庭作业问题,所以我不是在寻找直接的答案.我需要朝着正确的方向努力.我根本不理解这个问题.我对此的回答是“事实上,这些值是他们自己的枚举类型的实例.”哪个回来不正确.我现在正在看API …这是指方法摘要中列出的方法吗? 我从this page注意到Java的修饰符类型通常是指访问控制(私有,公共,受保护)和非访问修饰符(静态,最终,抽象,易失性). 我正在公开,保护我的下一个答案,因为我看到API中列出的那两个用于访问控制.我正确...

java – 映射两个相关的枚举?【代码】

我有两个相关的枚举: Enum1:public enum HttpStatusCode {ACCEPTED(202),OK(200),CREATED(201),BAD_REQUEST(400),NOT_FOUND(404),METHOD_NOT_ALLOWED(405),REQUEST_TIMEOUT (408),FORBIDDEN(403),CONFLICT(409),INTERNAL_SERVER_ERROR(500),NOT_IMPLEMENTED(501);private int httpStatusCode;private HttpStatusCode(int name) {this.httpStatusCode = name;}public int getHttpStatusCode() {return httpStatusCode;} }Enum2:p...

java – 使用JPA存储枚举值【代码】

说我有一个枚举:public enum NotificationType {Store("S"),Employee("E"),Department("D"),All("A");public String value;NotificationType(String value) {this.value = value;} }我想在数据库中存储S或E而不是Store或Employee.目前,我已将其映射到实体中,如下所示:@Enumerated(EnumType.STRING) private NotificationType notificationType;但如果可能的话,不确定如何得到我想要的东西.解决方法:您可以声明自己的用户类型来执...

java – 嵌套枚举是静态的吗?【代码】

阅读this question时,我打开编辑器尝试一些代码示例来验证和理解它.以下是我的代码:public enum EnumImpl {B {public void method() {System.out.println(s); //(1)non-static variable s cannot be referenced from a static context}public static int b; //(2)Illegal static declaration in inner class};private int s; }但编译上层代码让我更加困惑. >第一个错误来自于上层问题显示B实际上属于静态类.所以在方法中,它是一个...

java – 重命名protobuf中的枚举值 – 向后兼容性【代码】

我有一个protobuf:enum Type {UNDEFINED = 0;SMALL = 1;MEDIUM = 2;BIG = 3; }最后一个值被改变了(不是我):enum Type {UNDEFINED = 0;SMALL = 1;MEDIUM = 2;VERY_BIG = 3; }这种变化会对我解析protobuf消息(包含BIG的消息)的能力产生什么影响?解析二进制编码或文本编码消息之间有什么不同吗? 弃用BIG并引入VERY_BIG值的最佳做法是什么?解决方法:如果你使用二进制protobuf格式,那么:没问题.仅发送原始值 – 作为varint,而不是...

java – JSTL forEach标记:枚举问题,并了解它应该如何工作【代码】

我经历过JSTL forEach标签的??相当奇怪的行为. 我有一个名为SessionBean的bean:public class SessionBean {private Collection<MyObject> objects;public Collection<MyObject> getObjects() {return objects;}... }这是一个简单的JSP页面:<%@page contentType="text/html"%> <%@page pageEncoding="UTF-8"%> <%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%> <%@taglib prefix="h" uri="http://java.sun.com/jsf/htm...

Java-枚举类,注解【代码】

package com.lxl.java;/*** 一、枚举类的使用* 1.枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类* 2.当需要定义一组常量时,强烈建议使用枚举类* 3.如果枚举类中只有一个对象,则可以作为单例模式的实现方式。** 二、如何定义枚举类* 方式一:jdk5.0之前,自定义枚举类* 方式二:jdk5.0,可以使用enum关键字定义枚举类** 三、Enum类中的常用方法:* values()方法:返回枚举类型的对象数组。该方法可以很方便地遍...

几个枚举如何扩展包含Java中这些枚举所用方法的类?

我有两个枚举,两个包.我可以有1000个枚举,1000个包,因为我正在开发一种“单元”架构,每个单元都必须有自己的枚举. 我不想让同一个枚举中的每个常量最大化凝聚力. 问题是每个枚举基本相同,常量除外(适用于每个单位) 所以,我需要重复很多代码,我不想这样做(我的枚举实现了监听器,方法逻辑是每个枚举中的复制/粘贴,例如). 我查看了互联网上的枚举扩展模式.我找到了可扩展的枚举模式. 这不完全是我需要的. 我试图找到一个解决方案来保持...