Home
Mastering Java String.format With Practical Code Examples
The java.lang.String.format() method is a static utility introduced in Java 5 that allows developers to create formatted strings using a template-based approach. It is heavily inspired by the printf function in C, providing a robust way to insert variables into a string while controlling their visual representation—such as decimal places, alignment, and date formats.
Unlike simple string concatenation using the + operator, String.format() improves code readability and maintainability, especially when dealing with complex data types or internationalization. By using format specifiers, you can separate the structure of the message from the data itself.
The Anatomy of a Format Specifier
Before diving into examples, it is crucial to understand the internal structure of the format specifier. Every specifier follows a specific pattern, where most components are optional except for the % symbol and the conversion character:
%[argument_index$][flags][width][.precision]conversion
- %: The mandatory character that marks the beginning of a specifier.
- argument_index$: An optional decimal integer indicating the position of the argument in the argument list. For example,
1$refers to the first argument. - flags: Optional characters that modify the output format, such as
-for left alignment or0for zero-padding. - width: An optional non-negative decimal integer indicating the minimum number of characters to be written to the output.
- .precision: An optional non-negative decimal integer preceded by a period, usually used to restrict the number of characters in a string or digits after a decimal point in floating-point numbers.
- conversion: A mandatory character that indicates how the argument should be formatted (e.g.,
sfor string,dfor decimal integer).
Common Conversion Characters
Here is a quick reference table for the most frequently used conversion characters in Java:
| Specifier | Description | Argument Type |
|---|---|---|
%s |
String | Any type (calls toString()) |
%d |
Decimal Integer | byte, short, int, long |
%f |
Floating Point | float, double |
%b |
Boolean | boolean or Boolean |
%c |
Unicode Character | char, byte, short, int |
%x |
Hexadecimal Integer | int, long |
%e |
Scientific Notation | float, double |
%t |
Date/Time | long, Calendar, Date |
%n |
Platform-specific newline | None |
%% |
Literal '%' | None |
1. Basic String and Character Formatting
At its simplest, String.format() replaces %s with the string representation of an object. This is highly useful for building dynamic messages.
-
Topic: String.format() Method Syntax and Exampleshttps://cdn.prod.website-files.com/680407d8f5cb63cf42ec968e/68d00d912e3d642e14963937_tabinudelibujanadibemu.pdf
-
Topic: 字符串 的 格式化 方法 _ java 字符串 格式化 - csdn 博客https://blog.csdn.net/Flying_Fish_roe/article/details/144028696
-
Topic: Java String.format(): A Comprehensive Guide — javathinking.comhttps://www.javathinking.com/blog/java-string-format/