在地图中存储十六进制值..java?

发布于 2024-10-19 10:23:05 字数 311 浏览 2 评论 0原文

我目前正在这样做..但它实际上存储为整数..我该怎么做?

commandMap = new HashMap();
commandMap.put("SET_DISPLAY", 0xD0);
commandMap.put("READ_ADC", 0xD1);
commandMap.put("GET_PARAM", 0xD2);
commandMap.put("SET_PARAM", 0xD3);
commandMap.put("GET_IOVALUE", 0xD4);
commandMap.put("SET_IOVALUE", 0xD5);

I am currently doing it like this.. but it gets actually stored as integer.. How can i do it?

commandMap = new HashMap();
commandMap.put("SET_DISPLAY", 0xD0);
commandMap.put("READ_ADC", 0xD1);
commandMap.put("GET_PARAM", 0xD2);
commandMap.put("SET_PARAM", 0xD3);
commandMap.put("GET_IOVALUE", 0xD4);
commandMap.put("SET_IOVALUE", 0xD5);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

岁月苍老的讽刺 2024-10-26 10:23:05

十进制、十六进制、八进制等只是表示法;即用字符呈现整数的不同方式。它们不是特殊类型的数字。

所以 ...

commandMap = new HashMap(); 
commandMap.put("SET_DISPLAY", 0xD0);
int value = commandMap.get("SET_DISPLAY");
System.err.println("0x" + Integer.toHexString(value));

Decimal, hex, octal and so on are just notations; i.e. different ways of rendering an integer in characters. They are not special kinds of numbers.

So ...

commandMap = new HashMap(); 
commandMap.put("SET_DISPLAY", 0xD0);
int value = commandMap.get("SET_DISPLAY");
System.err.println("0x" + Integer.toHexString(value));
美人迟暮 2024-10-26 10:23:05

没有单独的“十六进制”数据类型。如果您想将值显示为十六进制,可以使用静态方法Integer.toHexString(int i)

即使它们存储为整数,您仍然可以执行类似的操作

if (commandMap.get(command) == 0xD2) {
    ...
}

,因此实际上不需要单独的数据类型。

There is no separate "hex" data type. If you want to display values as hexidecimal you can use the static method Integer.toHexString(int i).

Even though they're stored as integers, you can still do things like

if (commandMap.get(command) == 0xD2) {
    ...
}

so there's really no need to have a separate data type.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文