The setFormatsByArgumentIndex method of java.text.MessageFormat class is used to set the array of new format element in the pattern of message format object by overriding the old pattern.
Syntax:
public void setFormatsByArgumentIndex(Format[] newFormats)
Parameter: This method takes an array of format element as a parameter for overriding the old pattern of message format object.
Return Value: This method has nothing to return.
Exception: This method throws NullPointerException if array of new format element is null.
Below are the examples to illustrate the setFormatsByArgumentIndex() method:
Example 1:
// Java program to demonstrate // setFormatsByArgumentIndex() 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, #}, {2, number, #.##}, {4, time}" ); // display the current message format object displayFormat(mf); // creating and initializing new Format object array Format[] format = { new SimpleDateFormat( "YYYY-'W'ww-u" ), new DecimalFormat( "10.5678" ) }; // settting the new array of formats // in the pattern of MessageFormat object // using setFormatsByArgumentIndex() method mf.setFormatsByArgumentIndex(format); // display the Override MessageFormat object System.out.println(); displayFormat(mf); } catch (NullPointerException e) { System.out.println( "format array is null" ); System.out.println( "Exception thrown : " + e); } } // Defining displayFormat method public static void displayFormat(MessageFormat mf) { // display the result System.out.println( "pattern : " + mf.toPattern()); // getting all format // used in MessageFormat Object // using getFormats() method Format[] formats = mf.getFormats(); // display the result System.out.println( "Required Formats are : " ); for ( int i = 0 ; i < formats.length; i++) System.out.println(formats[i]); } } |
pattern : {0, date, #}, {2, number, #0.##}, {4, time} Required Formats are : java.text.SimpleDateFormat@403 java.text.DecimalFormat@674fc java.text.SimpleDateFormat@8400729 pattern : {0, date, YYYY-'W'ww-u}, {2, number, #0.##}, {4, time} Required Formats are : java.text.SimpleDateFormat@d21287d2 java.text.DecimalFormat@674fc java.text.SimpleDateFormat@8400729
Example 2:
// Java program to demonstrate // setFormatsByArgumentIndex() 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, #}, {2, number, #.##}, {4, time}" ); // display the current message format object displayFormat(mf); // creating and initializing new Format object array Format[] format = { new SimpleDateFormat( "YYYY-'W'ww-u" ), new DecimalFormat( "10.5678" ) }; // settting the new array of formats // in the pattern of MessageFormat object // using setFormatsByArgumentIndex() method mf.setFormatsByArgumentIndex( null ); // display the Override MessageFormat object System.out.println(); displayFormat(mf); } catch (NullPointerException e) { System.out.println( "\nformat array is null" ); System.out.println( "Exception thrown : " + e); } } // Defining displayFormat method public static void displayFormat(MessageFormat mf) { // display the result System.out.println( "pattern : " + mf.toPattern()); // getting all format // used in MessageFormat Object // using getFormats() method Format[] formats = mf.getFormats(); // display the result System.out.println( "Required Formats are : " ); for ( int i = 0 ; i < formats.length; i++) System.out.println(formats[i]); } } |
pattern : {0, date, #}, {2, number, #0.##}, {4, time} Required Formats are : java.text.SimpleDateFormat@403 java.text.DecimalFormat@674fc java.text.SimpleDateFormat@8400729 format array is null Exception thrown : java.lang.NullPointerException