gpt4 book ai didi

java - 打印枚举的名称

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:52:44 24 4
gpt4 key购买 nike

我在 Ubuntu 上使用 eclipse + Android SDK。

我想打印传感器类型设备的名称,那里有一个 a lot of them我想自动完成。

如果我使用一个

Log.d("SENSORTYPE","Type: " + tempSensor.getType())

我打印了 (int) 类型,但我想要枚举的名称。

我该怎么做?

最佳答案

对于枚举,您可以获得所有常量的数组并使用如下代码非常容易地循环它们:

for(YourEnum value: YourEnum.values()){
System.out.println("name="+value.name());
}

然而,Sensor您链接到的类不是枚举,而是包含常量列表。如果不指定所有常量名称,就无法像枚举一样以编程方式循环遍历该列表。

但是,您可以创建一个静态查找,将整数映射到您要使用的字符串值,例如

Map<Integer,String> lookup = new HashMap<Integer,String>();
lookup.put(TYPE_ACCELEROMETER,"Accelerometer");
//Code a put for each TYPE, with the string you want to use as the name

你可以这样使用:

Log.d("SENSORTYPE","Type: " + lookup.get(tempSensor.getType()));

这种方法确实意味着您仍然必须写出每个常量并在常量更改时更新列表,但您只需执行一次。将查找包装在某种辅助方法或类中是个好主意,具体取决于您希望在多大程度上重用它。

关于java - 打印枚举的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8801779/

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