title: Automatic field numbering in String formatting
body: <p>I am trying to format String in java using <code>MessageFormat</code> class. The String contains positional field but it only work if I provide the field number. For e.g</p>
  
  <p><code>MessageFormat.format("{0} {1}", "Hi", "Java")</code> works but</p>
  
  <p><code>MessageFormat.format("{} {}", "Hi", "Java")</code> gives</p>
  
  <pre><code>Exception in thread "main" java.lang.IllegalArgumentException: can't parse argument number: 
      at java.text.MessageFormat.makeFormat(MessageFormat.java:1429)
      at java.text.MessageFormat.applyPattern(MessageFormat.java:479)
      at java.text.MessageFormat.&lt;init&gt;(MessageFormat.java:362)
      at java.text.MessageFormat.format(MessageFormat.java:840)
      at controller.App.main(App.java:11)
  Caused by: java.lang.NumberFormatException: For input string: ""
      at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
      at java.lang.Integer.parseInt(Integer.java:592)
      at java.lang.Integer.parseInt(Integer.java:615)
      at java.text.MessageFormat.makeFormat(MessageFormat.java:1427)
  </code></pre>
  
  <p>Is there a way(any other class or library) in that it can handle both automatic and manual field numbering something like python does?</p>
  
  <pre><code>In [3]: print "{} {}".format("Hi", "Java")
  Hi Java
  
  In [4]: print "{0} {1}".format("Hi", "Java")
  Hi Java
  </code></pre>