java - 如何向这个 Java 枚举函数解释结果?

标签 java enums

给定

public enum Title {

MR("Mr."), MRS("Mrs."), MS("Ms.");

private final String title;

private Title(String t) {
    title = t;
}

public String format(String last, String first) {
    return title + "" + first + "" + last;
}
}

public static void main(String[] args){
    System.out.println(Title.MR.format("Doe","John"));
}

有人知道怎么解释吗?请记住,代码并不完全完整。这恰好是书中的一道题。这个问题的答案是 John Doe 先生。

谢谢

最佳答案

嗯,首先,考虑阅读 this , 为了理解什么Enum如何它的工作原理,以及何时您应该使用它。

现在,关于您的 Enum 示例,您正在声明一个具有三个可能值的 Enum 化类型:MRMRSMSEnum,就像 Classes 一样,可以有方法构造函数。在您的示例中,Title 有一个参数构造函数——它存储对 Title 的描述——以及一个基本上将描述添加到给定名称前面的方法—— 格式方法。

因此,当您调用 Title.MR.format("Doe","John")) 时,首先您会获得 MR Title 的实例,然后调用 format 方法,该方法返回 Mr.John Doe

另请注意,每个 Title 仅创建一个实例,因此多次调用 Title.MR 将始终返回相同的对象。

关于java - 如何向这个 Java 枚举函数解释结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3219219/

相关文章:

java - 系统重启后如何处理复制缓存的重新填充

java - 使用 Glassfish 中的 RESTful Web 服务上传二进制文件

c++ - 哪种访问 C++ 枚举数的方式更好?

C++ : Using an Enum type as a parameter

java枚举混淆

java - Intellij Idea- Gradle : Execution failed for task ':compileJava'

java - 拆分公式字符串

java - 将 mac jdk 版本设置为 1.8

c# - 使用 CType 的枚举解决重载问题

java - 当类的属性之一是枚举变量时,如何实现该类?