The setFormats() method of java.text.MessageFormat class is used to set the new format element at the particular index in the pattern of this message format object.
Syntax:
public void setFormat(int formatElementIndex,
Format newFormat)
Parameters: This method takes the following argument as a parameter:
- formatElementIndex: this is the particular index where new format element is going to be placed.
- newFormat: this is the new Format element which is going to be placed.
Return Value: This method has nothing to return.
Exception : This method throws ArrayIndexOutOfBoundsException if the formatElementIndex is out of bound.
Below are the examples to illustrate the setFormat() method:
Example 1:
// Java program to demonstrate// setFormats() method  import java.text.*;import java.util.*;import java.io.*;  public class GFG {    public static void main(String[] argv)    {        // creating and initializing MessageFormat        MessageFormat mf            = new MessageFormat("{0, date, #}, {0, number, #.##}, {0, time}");          // display the current pattern        System.out.println("old pattern : "                           + mf.toPattern());          // getting all the format element        // used in MessageFormat Object        Format[] formats = mf.getFormats();          // setting the new format element        // at particular index        // using setFormat() method        for (int i = 0; i < formats.length; i++)            mf.setFormat(i, formats[1]);          // display the result        System.out.println("\nnew pattern : "                           + mf.toPattern());    }} |
old pattern : {0,date, #}, {0,number, #0.##}, {0,time}
new pattern : {0,number, #0.##}, {0,number, #0.##}, {0,number, #0.##}
Example 2:
// Java program to demonstrate// setFormats() method  import java.text.*;import java.util.*;import java.io.*;  public class GFG {    public static void main(String[] argv)    {        try {            // creating and initializing MessageFormat            MessageFormat mf                = new MessageFormat("{0, date, #}, {0, number, #.##}, {0, time}");              // display the current pattern            System.out.println("old pattern : "                               + mf.toPattern());              // getting all the format element            // used in MessageFormat Object            Format[] formats = mf.getFormats();              // setting the new format element            // at particular index            // using setFormat() method            for (int i = 0; i <= formats.length + 1; i++)                mf.setFormat(-1, formats[1]);              // display the result            System.out.println("\nnew pattern : "                               + mf.toPattern());        }        catch (ArrayIndexOutOfBoundsException e) {            System.out.println("\narray is out of bound");            System.out.println("Exception thrown : " + e);        }    }} |
old pattern : {0,date, #}, {0,number, #0.##}, {0,time}
array is out of bound
Exception thrown : java.lang.ArrayIndexOutOfBoundsException: -1
