Joshua Bloch 在《Effective Java》中解释了枚举类型

2024-01-03

请看这个link http://kulferhat.blogspot.in/2014/08/ej-30-use-enum-instead-of-int-constants.html。关于枚举,布洛赫先生说

Java 枚举类型是通过公共静态最终字段为每个枚举常量导出一个实例的类。

我读了枚举类文档但有没有公共静态最终字段,那么上述说法如何成立。请解释。 谢谢


创建一个Test.java文件并写入Test enum:

public enum Test {
    Hello
}

编译这个类:javac Test.java,并使用javap Test获取编译后的类:

public final class Test extends java.lang.Enum{
    public static final Test Hello;
    public static Test[] values();
    public static Test valueOf(java.lang.String);
    static {};
}

你可以看到Test类延伸自Enum它有public static final Hello field.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Joshua Bloch 在《Effective Java》中解释了枚举类型 的相关文章

  • 由于连接超时,无法通过 ImageIO.read(url) 获取图像

    下面的代码似乎总是失败 URL url new URL http userserve ak last fm serve 126 8636005 jpg Image img ImageIO read url System out printl
  • 如何从另一个xml文件动态更新xml文件?

    我想从另一个 xml 文件更新 xml 文件 我使用了一个 xml 文件 如下所示 one xml
  • JTree 节点不会被直观地选择

    不知何故 我无法为我的 JTree 节点启用 选择突出显示 我正在我的项目中使用自定义单元格渲染器 这很可能导致此问题 这是完整的渲染器类代码 protected class ProfessionTreeCellRenderer exten
  • 无法加载 jar 文件的主类

    我使用 Eclipse IDE 开发了一个应用程序 创建应用程序后 我以 jar 格式导出项目 当我尝试运行此 jar 文件时 出现错误 无法加载主类 请帮忙 当您将项目导出为 jar 时 请参阅此所以问题 https stackoverf
  • 如何对 IntStream 进行逆序排序

    我正在使用 txt 文件读取数字BufferedReader 我想颠倒该流中元素的顺序 以便在收集它们时 它们将从最高到最低排列 我不想在构建数组后进行排序 因为我不知道其中可能有多少元素 我只需要最高的 N 个元素 in new Buff
  • 使用 Spring 时实例化对象,用于测试与生产

    使用 Spring 时 应该使用 Spring 配置 xml 来实例化生产对象 并在测试时直接实例化对象 这样的理解是否正确 Eg MyMain java package org world hello import org springf
  • Java 重写 hashCode() 得到 StackOverflowError

    所以我不太熟悉重写 hashCode 并且我似乎在 hashCode 方法中以某种方式进行了一些无限递归 这是我的场景 我有一个 DuplicateCache 类 它是一个缓存对象 用于检查系统中的重复对象 我有一个静态内部类 Duplic
  • Java 变量的作用域

    我不明白为什么这段代码的输出是10 package uno public class A int x 10 A int x 12 new B public static void main String args int x 11 new
  • Spring Stomp over Websocket:流式传输大文件

    我的SockJs客户端在网页中 发送帧大小为16K的消息 消息大小限制决定了我可以传输的文件的最大大小 以下是我在文档中找到的内容 Configure the maximum size for an incoming sub protoco
  • cucumber-junit-platform-engine 中的功能文件发现

    In cucumber junit我使用的库 CucumberOptions定义功能文件位置 package com mycompany cucumber import cucumber api CucumberOptions import
  • 尝试在没有 GatewayIntent 的情况下访问消息内容

    我希望每当我写一条打招呼的消息时 机器人都会在控制台中响应一条消息 但它只是给我一个错误 JDA MainWS ReadThread WARN JDA Attempting to access message content without
  • 参数动态时如何构建 JPQL 查询?

    我想知道是否有一个好的解决方案来构建基于过滤器的 JPQL 查询 我的查询太 富有表现力 我无法使用 Criteria 就像是 query Select from Ent if parameter null query WHERE fiel
  • 具有多种值类型的 Java 枚举

    基本上我所做的是为国家编写一个枚举 我希望不仅能够像国家一样访问它们 而且还能够访问它们的缩写以及它们是否是原始殖民地 public enum States MASSACHUSETTS Massachusetts MA true MICHI
  • 不兼容的类型:在 java netbeans 中对象无法转换为 String

    我试图在我的项目中使用对象数组 但出现错误 incompatible types Object cannot be converted to String 在这一行 ST1 new String emt1 emt2 emt3 emt4 现在
  • OpenJDK 版本控制

    上下文 我想确保我们系统上安装的 Java 不受 CVE 2022 21449 的影响 java version 给出 openjdk version 11 0 7 2020 04 14 LTS OpenJDK Runtime Enviro
  • 将 RSA 密钥从 BigIntegers 转换为SubjectPublicKeyInfo 形式

    WARNING 最初的问题是关于 PKCS 1 编码密钥 而问题中的实际示例需要SubjectPublicKeyInfo X 509 编码密钥 我目前正致力于在 java 中从头开始实现 RSA 算法 特别是密钥生成方面 现在我的代码可以给
  • 来自客户端的超时 Web 服务调用

    我正在使用 RestEasy 客户端调用网络服务 一项要求是 如果调用运行时间超过 5 秒 则中止 超时调用 我如何使用 RestEasy 客户端实现这一目标 我只看到服务器端超时 即如果在一定时间内未完成请求 Rest Easy 网络服务
  • struts 教程或示例

    我正在尝试在 Struts 中制作一个登录页面 这个想法是验证用户是否存在等 然后如果有错误 则返回到登录页面 错误显示为红色 典型的登录或任何表单页面验证 我想知道是否有人知道 Struts 中的错误管理教程 我正在专门寻找有关的教程 或
  • 从一个文本文件中获取数据并将其移动到新的文本文件

    我有一个文件 里面有数据 在我的主要方法中 我读入文件并关闭文件 我调用另一种方法 在原始文件的同一文件夹内创建一个新文件 所以现在我有两个文件 原始文件和通过我调用的方法生成的文件 我需要另一种方法 从原始文件中获取数据并将其写入创建的新
  • 为什么 BufferedWriter 不写入文件?

    我有这个代码 String strings Hi You He They Tetrabenzene Caaorine Calorine File file new File G words txt FileWriter fWriter Bu

随机推荐

  • 如何在Jmeter中找到准确的“总测试持续时间”?

    我想知道是否有一个 JMeter 监听器可以显示测试运行的总时间 虽然this http code google com p jmeter plugins 插件沿 x 轴显示经过时间 总持续时间 它以秒为单位给出该值 但我想要以毫秒为单位的
  • 自动更新 pandas 中的列?

    在我看来 pandas 为我提供了一个虚拟电子表格 就像 Excel 一样 Excel 电子表格的一件事是您可以将列设置为函数 例如 T c T T r Series 1 1 T T c Series 2 2 T T c 有什么方法可以创建
  • css中*符号的用法

    我发现一些样式表使用 其上的符号 例如 zoom 1 什么是 符号站 有时看起来像 class span 这 谁能帮我解释一下这个符号的用法 in css zoom是一个适用于 ie6 和 ie7 的 hack 是一个通配符 匹配所有元素或
  • 当 WooCommerce 购物车页面上的数量更新时拆分购物车项目

    我想将同一产品的购物车项目拆分为单独的行 当我增加单个产品页面上的数量并添加到购物车时 它显示为单独的购物车项目 我在用着WooCommerce 如果数量超过 1 则将购物车商品分开处理 https stackoverflow com a
  • Enterprise Library 日志记录块的编程配置

    我以前使用过 log4net 但我当前的雇主使用 Enterprise Library 应用程序块 我之前为我的核心日志记录类开发了单元测试 如下所示 并且想知道是否有人知道下面的日志记录应用程序块的 OneTimeSetup 代码的等效项
  • xml到r数据提取

    我需要从 xml 文件中提取数据并绘制以下图表 深度与时间戳 标题应为 IFC 代码 我尝试使用 xmlToList 和 xmlTodataframe 但失败了 我需要帮助 我的 xml 文件看起来像
  • 无需内置方法即可将字符串转换为大写

    我正在尝试在字符串上执行从小写到大写的转换 而不使用任何内置函数 ord 和 char 除外 按照这里不同线程上提出的逻辑 我想出了这个 def uppercase str data ord str data str data str da
  • 如何修复“UnicodeDecodeError:'cp949'编解码器无法解码位置 24 中的字节 0xeb:非法多字节序列”

    我只是用 python3 制作不和谐机器人 client event async def on message message if bot ignore if message author bot return None if messa
  • 如何使用 Perl 将图像上传到 Amazon S3?

    我正在尝试使用 Perl 将文件上传到 S3 根据该模块 http metacpan org pod Amazon S3 Bucket http metacpan org pod Amazon S3 Bucket 以下代码将上传文本文件 c
  • 如何使用 JavaScript 替换 URL 中的数字

    我有一个始终以数字 30 结尾的 URL 我想将其替换为另一个数字 100 我不确定正则表达式是否是最佳选择 如果是 该怎么做 这是我的尝试 但我正在寻找更专业的东西 可以在任何情况下工作 并且只更改 URL 的最后一位 即 30 let
  • 如何在 Intellij IDEA 11 的一个模块中设置 Java 和 Scala?

    我有 IntelliJ 11 我使用 Maven 进行依赖管理 我想创建一个包含 Java 和 Scala 源文件的模块 我已经在项目设置 gt 模块 gt 模块XYZ 下添加了文件夹 src main java 和 src main sc
  • 使用 T-SQL 查询 XML 字段

    如何使用 T SQL 查询 XML 数据中的多个节点并将结果输出到单个逗号分隔的字符串 例如 我想获取以下 XML 中所有目的地名称的列表 如 德国 法国 英国 意大利 西班牙 葡萄牙
  • 单击时突出显示文本框内容

    我有动态生成的用户表单 其中包含标签 复选框和文本框 单击时是否可以选择文本框的内容 这是我用来创建文本框的方法 Set NewTextBox MainFrame Controls Add Forms TextBox 1 With NewT
  • 在asp.net core 2中流式传输视频文件

    我想使用asp net core在浏览器中播放视频 在 html 中我有
  • 抓取大量带有 url 的 Google Scholar 页面

    我正在尝试使用 BeautifulSoup 从 Google 学者的作者那里获取所有出版物的完整作者列表 由于作者的主页只有每篇论文的作者列表 因此我必须打开论文的链接才能获取完整列表 结果 我每隔几次尝试就会遇到验证码 有没有办法避免验证
  • 工具栏中的后退按钮不起作用

    我只有 Activity 它是 ActionBarActivity 类的子级 在方法中我设置OnCreate支持工具栏 为此 我重写了 OnOptionsItemSelected 因此当我按下后退按钮时执行了一些操作 代码如下所示 Acti
  • 为什么 ThreadLocalRandom 的实现如此奇怪?

    这个问题涉及到实施ThreadLocalRandom在 OpenJDK 版本 1 8 0 中 ThreadLocalRandom提供每线程随机数生成器 没有 Random 带来的同步开销 最明显的实现 IMO 是这样的 它似乎保留了向后兼容
  • IE11 上的 XSLT 处理?

    IE11 中的 XSLT 处理发生了什么 在IE8 9 10上 您可以使用 if window ActiveXObject var xslt new ActiveXObject Msxml2 XSLTemplate 在 Chrome Fir
  • 尝试使用 ctypes 调用 wincred api

    我正在尝试使用 ctypes API 读取 Windows 凭证库 但我不确定如何将函数结果转换回可用的 ctypes Structure import ctypes class CREDENTIALS ctypes Structure f
  • Joshua Bloch 在《Effective Java》中解释了枚举类型

    请看这个link http kulferhat blogspot in 2014 08 ej 30 use enum instead of int constants html 关于枚举 布洛赫先生说 Java 枚举类型是通过公共静态最终字