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