这听起来可能很奇怪,但实际上非常简单。
简短描述:我有一个名为
的类变量public static final String ACCELEROMETER_X = "AccX";
在一个函数中,我执行此操作,它从枚举中获取“ACCELEROMETER_X”(传感器是我的枚举的数组列表)。
for i...
columns = columns + sensors.get(i).name()
重点是我想在列中引入的不是“ACCELEROMETER_X”,而是“AccX”。任何想法?我知道我可以使用 switch 和 case 来做到这一点,但我的枚举有超过 30 个值,所以我宁愿更喜欢其他“更干净”的方式来做到这一点。
最佳答案
如果您希望将 enum
常量替换为该字符串值,更好的方法是将该字符串保留为 enum
本身中的字段:
enum Sensor {
ACCELEROMETER_X("AccX"),
// Other constants
;
private final String abbreviation;
private Sensor(final String abbreviation) {
this.abbreviation = abbreviation;
}
@Override
public String toString() {
return abbreviation;
}
}
而不是:
sensors.get(i).name()
使用这个:
sensors.get(i).toString()
关于java - 如何从另一个字符串中获取一个字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17897412/