MessageFormat setFormat() method in Java with Example
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()); } } |
Output:
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); } } } |
Output:
old pattern : {0,date, #}, {0,number, #0.##}, {0,time} array is out of bound Exception thrown : java.lang.ArrayIndexOutOfBoundsException: -1
Reference: https://docs.oracle.com/javase/9/docs/api/java/text/MessageFormat.html#setFormat-int-java.text.Format-