java - 如何在没有所有信息的情况下显示枚举
问题描述
您好,我有一个像下面这样的 Planet 类,我想显示像 MERCURY EARTH 等这样的 Enum ......没有括号之间的信息,我在像 MERCURE , TERRE 这样的括号内使用 CommonName 来搜索和显示 Enum
public enum Planet {
MERCURY(0.387,"MERCURE") , VENUS(0.722,"VÉNUS"), EARTH(1.0,"TERRE"), MARS(1.52,"MARS"), JUPITER(5.20,"JUPITER"),
SATURN(9.58,"SATURNE"), URANUS(19.2,"URANUS"), NEPTUNE(30.1,"NEPTUNE");
private double distance;
private String commonName;
private Planet(double v, String c) {
distance = v;
commonName = c;
}
public double getDistanceFromTheSunInAstronomicalUnit(double distance) {
return distance;
}
public String getCommonName() {
return commonName;
}
@Override //
public String toString() {
return ""+commonName+ " ("+distance+")";
}
}
我有这个功能
Optional <Planet> Dept = Arrays.stream(Planet.values())
.filter(e -> e.getCommonName().equals(Dep))
.findFirst();
System.out.println(Dept.get());
我正在尝试显示没有括号之间信息的枚举,并将 CommonName 与输入(部门)进行比较,但问题是每次我得到括号内的信息时
任何人都可以帮助我吗?
解决方案
直接打印枚举值时,您会发现它会连同它一起打印信息。如果您只想要枚举的名称,例如“MARS”,请尝试使用name
返回名称字符串的方法。
例子:System.out.println(Dept.get().name());
推荐阅读
- google-chrome - 无法在 Chrome 开发工具 javascript 控制台中打印变量
- c++ - 如何找到一个字符数组出现在另一个字符数组中的次数?
- dart - Flutter AppBar 中可以放置多少项才溢出
- python-3.x - Sympy在用户定义函数中求解线性微分方程组
- android-constraintlayout - 约束布局 - 如何不使用链连接所有视图
- algorithm - 有多个嵌套for循环时如何找到时间复杂度
- python-3.x - 终端不起作用:它不再启动。如何解决?
- c# - 无效的列名 Entity Framework Core
- javascript - jQuery 方法无法将数据传递到 REST 服务器
- laravel - 即使在模型中使用 $guarded = [] 将值设置为可填充后,也会出现 MassAssignment 错误