Java包装类不负责数字格式化,但提供进制转换核心支持:toXxxString转基本类型为指定进制字符串(2–36进制,无前缀),parseInt(s,radix)反向解析;格式化需用DecimalFormat或String.format;Boolean/Character提供字符语义转换。

Java 中包装类本身不直接负责数字格式化(比如千分位、小数位控制),但提供了进制转换的核心支持,并与 String 和 Number 体系紧密配合,是数字类型间转换和表示的基础工具。
进制转换:用 toXxxString 方法输出字符串表示
Integer、Long 等整数包装类提供静态工具方法,将一个 int 或 long 值 转为指定进制的字符串(不支持直接解析非十进制字符串——那是 parseInt(s, radix) 的职责):
-
Integer.toBinaryString(10)→"1010" -
Integer.toHexString(255)→"ff"(小写,无前缀) -
Integer.toOctalString(64)→"100" -
Integer.toString(100, 15)→"6a"(支持 2–36 进制,第二个参数为基数)
注意:这些方法只接受基本类型数值(如 int),不接受字符串;且结果不含 0x、0b 等前缀,也不补零或大写,需自行处理。
反向解析:用 parseXxx 方法按进制读取字符串
要将带进制标识的字符串转回数值,用带 radix 参数的 parseXxx 方法:
立即学习“Java免费学习笔记(深入)”;
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
-
Integer.parseInt("1010", 2)→10 -
Integer.parseInt("FF", 16)→255 -
Long.parseLong("11111111111111111111", 2)→ 支持长二进制串
进制范围必须是 2–36,否则抛 NumberFormatException;字符串中不能含空格、前缀(如 "0xFF" 会失败),需先截掉前缀再解析。
数字格式化:包装类不负责,但可配合 DecimalFormat 或 String.format
包装类(如 Integer、Double)没有内置千分位、保留两位小数等功能。真正做格式化的应是:
-
DecimalFormat:适合复杂定制(如"#,##0.00") -
String.format("%.2f", 3.14159)→"3.14" -
NumberFormat.getCurrencyInstance().format(1234.5)→ 带货币符号
包装类的作用是提供原始数值(如 doubleValue())供格式化工具使用,或通过 toString() 得到默认字符串表示。
Boolean 和 Character 的特殊处理
布尔和字符包装类也参与“格式”相关操作,但逻辑不同:
-
Boolean.toString(true)→"true";Boolean.parseBoolean("TRUE")→true(忽略大小写,但只有"true"返回 true,其余全为 false) -
Character.toUpperCase('a')、Character.isDigit('5')属于字符判断与转换,不属于数值格式化,但常与数字字符串预处理结合使用(如校验输入是否全数字)
它们不涉及进制或小数点,但属于包装类在“文本-语义”转换中的基础能力。

















