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