Skip to content
Related Articles

Related Articles

Improve Article

MessageFormat setFormat() method in Java with Example

  • Last Updated : 22 Jan, 2020

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-

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.




My Personal Notes arrow_drop_up
Recommended Articles
Page :