Java - Format Specifier General Formatting


The general formatting formats values of any data types.

The following table lists conversions in the general formatting category.



It produces "true" or "false" based on the value.
It produces "false" for a null argument and for a Boolean false value.
Otherwise, it produces "true."


It produces a string that is the hash code value in hexadecimal format.
If the argument is null, it produces "null."


It produces a string representation of the argument.
If the argument is null, it produces a "null" string.
If the argument implements the Formattable interface, it calls formatTo() method on the argument.
If the argument does not implement the Formattable interface, toString() method is invoked.

The following code uses Boolean, string and hash code formatting conversions.

The hash code formatting conversion ( 'h' and 'H') outputs the hash code value of the argument in a hexadecimal format.

These examples also demonstrate the effect of using the uppercase variants of the conversions.


public class Main {
  public static void main(String[] args) {
    System.out.printf("'%b', '%5b', '%.3b'%n", true, false, true);
    System.out.printf("'%b', '%5b', '%.3b'%n", "Java", "Javascript", "Json");
    System.out.printf("'%B', '%5B', '%.3B'%n", "Java", "Javascript", "Json");
    System.out.printf("%b %n", 2028);
    System.out.printf("%b %n", new Object());
    // String conversion
    System.out.printf("'%s', '%5s', '%.3s'%n", "Java", "Javascript", "Json");
    System.out.printf("'%S', '%5S', '%.3S'%n", "Java", "Javascript", "Json");
    // Hash Code conversion
    System.out.printf("'%h', '%5h', '%.3h'%n", "Java", "Javascript", "Json");
    System.out.printf("'%H', '%5H', '%.3H'%n", "Java", "Javascript", "Json");
    System.out.printf("%h %n", 2028);
    System.out.printf("%h %n", true);
    System.out.printf("%h %n", new Object());

  }//ww w  .ja va2 s  .  c  o m