关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。
上个月关门了。
改进这个问题
枚举文件如下所示。
package Tic;
public enum Player {
X,O;
@Override
public String toString() {
switch (this) {
case X: return "X";
case O: return "O";
default: return "_";
}
}
}
我有一个要打印的枚举数组,如下所示:返回电路板的字符串表示形式。例如:“o\ux\no x\un\un”(null变为“\”)有没有一个简单的方法?
3条答案
按热度按时间zwghvu4y1#
使用返回内置
.name()
方法获取枚举示例的字符串版本,如果为null,则使用下划线:要将播放器数组转换为字符串:
wb1gzix02#
最好使用枚举值来代替null,因为这样可以避免在获取字符串名称等效项时可能出现的nullpointerexception。您可以将显示名称传递给@查利阿姆斯壮示例的构造函数,或者这个简单的toStrug()重写确保空白值打印正确的显示值。
player.toString()
:y4ekin9u3#
好的,首先让我们重写一下枚举。您正在使用示例方法将枚举转换为字符串,但在您的示例中,这实际上没有多大意义,因为您不能对空引用调用方法。您需要的是一个静态方法,它确定参数是否为null,并返回适当的字符串。见下表:
这样,我们就可以编写一些相当简单的驱动程序代码来实现您所描述的:
输出为: