You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Java中打印基本数据类型占用的字节大小?

Java基本数据类型字节大小的获取方法

Java的基本数据类型字节大小是固定不变的,由语言规范统一规定,和运行平台无关,你可以直接记住这些固定值:

  • byte:1字节
  • short:2字节
  • int:4字节
  • long:8字节
  • float:4字节
  • double:8字节
  • char:2字节(采用UTF-16编码存储字符)
  • boolean:语言规范未明确字节大小,JVM实现中通常用1字节或4字节存储,仅支持true/false两种取值

如果要通过代码打印这些基本类型的大小,最简便的方式是使用Java 8及以上版本中各基本类型对应包装类的BYTES常量,示例代码如下:

public class Main {
    public static void main(String[] args) {
        int x = 10;
        byte y = 125;
        float z = 2.5f;
        long ln = 50;

        // 直接打印对应类型的字节大小
        System.out.println("int 类型字节大小: " + Integer.BYTES);
        System.out.println("byte 类型字节大小: " + Byte.BYTES);
        System.out.println("float 类型字节大小: " + Float.BYTES);
        System.out.println("long 类型字节大小: " + Long.BYTES);
    }
}

如果需要动态判断某个变量对应的类型大小,可以通过装箱后判断包装类类型来实现,示例如下:

public class Main {
    public static void main(String[] args) {
        int x = 10;
        byte y = 125;
        float z = 2.5f;
        long ln = 50;

        System.out.println("变量x的类型字节大小: " + getPrimitiveSize(x));
        System.out.println("变量y的类型字节大小: " + getPrimitiveSize(y));
        System.out.println("变量z的类型字节大小: " + getPrimitiveSize(z));
        System.out.println("变量ln的类型字节大小: " + getPrimitiveSize(ln));
    }

    private static int getPrimitiveSize(Object wrappedPrimitive) {
        if (wrappedPrimitive instanceof Integer) return Integer.BYTES;
        if (wrappedPrimitive instanceof Byte) return Byte.BYTES;
        if (wrappedPrimitive instanceof Float) return Float.BYTES;
        if (wrappedPrimitive instanceof Long) return Long.BYTES;
        // 可扩展支持其他基本类型包装类
        throw new IllegalArgumentException("不支持的类型");
    }
}

内容的提问来源于stack exchange,提问作者Imtiaz Ahammed Nafiz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 11:42:43