java - 计算普通数字实例的字节使用量

标签 java numbers primitive-types

我正在编写一个自定义文件格式,我想将文件的某个区域解析为一个映射,该映射将字符串作为键,将 java.lang.number 实例(例如 int、long)作为值。有没有什么方法可以访问值的字节使用情况,而不必先确定它们的类类型?我的意思是 Number 的所有子类都有一个名为“BYTES”的静态变量,引用它们使用的实际字节数。 我想做这样的事情:

byte b = ((Number)map.get("key")).BYTES;

最佳答案

您可以使用反射获取 BYTES 常量的值:

Number number = map.get("key");
int numberOfBytes = number.getClass().getDeclaredField("BYTES").getInt(number);

关于java - 计算普通数字实例的字节使用量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37394403/

相关文章:

java - 如果我序列化一个类对象,然后修改一个字段并将该字段移至父类,会发生什么情况?

java - 在 Eclipse 中导入项目的一部分

python - Python代码在一个编辑器中工作,而不在另一个编辑器中工作

java - 在我的小程序中使用 webrenderer 时出现错误

java - Servlet 发送请求后未正确响应

java - Java 泛型的 Number.valueOf() 实现

Javascript - 验证,仅数字

java - 将 Streams 与原始数据类型和相应的包装器一起使用

java - 有没有直接的方法来计算原始字段的大小?

java - Android 上字符的大小