gpt4 book ai didi

java - 在 Java 枚举上实现 toString

转载 作者:IT老高 更新时间:2023-10-28 20:36:52 25 4
gpt4 key购买 nike

在 Java 中似乎可以这样写:

 private enum TrafficLight {
RED,
GREEN;

public String toString() {
return //what should I return here if I want to return
//"abc" when red and "def" when green?
}
}

现在,我想知道当枚举的值为红色时是否可以在 toString 方法中返回“abc”,而当它为绿色时是否可以返回“def”。另外,是否可以在 C# 中做类似的事情,在哪里可以做到这一点?:

 private enum TrafficLight {
RED = 0,
GREEN = 15
...
}

我已经尝试过了,但是我遇到了编译器错误。

谢谢

最佳答案

你可以这样做:

private enum TrafficLight {
// using the constructor defined below
RED("abc"),
GREEN("def");

// Member to hold the name
private String string;

// constructor to set the string
TrafficLight(String name){string = name;}

// the toString just returns the given name
@Override
public String toString() {
return string;
}
}

您可以添加任意数量的方法和成员。我相信你甚至可以添加多个构造函数。所有构造函数都必须是private

Java 中的 enum 基本上是一个 class,它具有一定数量的实例。

关于java - 在 Java 枚举上实现 toString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2497521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com