Open In App

MessageFormat setFormat() method in Java with Example

Last Updated : 22 Jan, 2020
Improve
Improve
Like Article
Like
Save
Share
Report

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-



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads