java - 如何从另一个字符串中获取一个字符串值

标签 java android string

这听起来可能很奇怪,但实际上非常简单。

简短描述:我有一个名为

的类变量
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/

相关文章:

java - 如何在点击时翻转 android 对话框?

java - 如何在 Root设备上切换飞行模式?

android - 为 Android 应用程序创建登录

android - 我可以基于 Python 代码为 Android 和/或 iOS 创建可执行代码吗?

c# - 在 C# 中从具有固定模式的字符串中提取特定数字

string - 删除 PostgreSQL 表字符串中的子字符串

java - 如何在ebean中急切加载一个集合?

java - 如何获得 Joda DateTime 时区的冒号?

javascript - 为什么我可以解析无效的日期字符串?

java - 如何清除散列映射<string,string> 值?