Duplicate :
|
FULL PRODUCT VERSION : java version "1.7.0_01" Java(TM) SE Runtime Environment (build 1.7.0_01-b08) Java HotSpot(TM) Client VM (build 21.1-b02, mixed mode, sharing) ADDITIONAL OS VERSION INFORMATION : Microsoft Windows XP [Version 5.1.2600] A DESCRIPTION OF THE PROBLEM : running code like: long length = 333; String lengthString = "0"; lengthString = String.format("%1$#8s", length); produces exception in Java 7 and it runs OK in Java 6: Stack Trace: Exception in thread "main" java.util.FormatFlagsConversionMismatchException: Conversion = s, Flags = # at java.util.Formatter$FormatSpecifier.failMismatch(Formatter.java:4041) at java.util.Formatter$FormatSpecifier.printString(Formatter.java:2834) at java.util.Formatter$FormatSpecifier.print(Formatter.java:2718) at java.util.Formatter.format(Formatter.java:2494) at java.util.Formatter.format(Formatter.java:2423) at java.lang.String.format(String.java:2845) REGRESSION. Last worked in version 6u29 STEPS TO FOLLOW TO REPRODUCE THE PROBLEM : See Description EXPECTED VERSUS ACTUAL BEHAVIOR : EXPECTED - see the parsed number ACTUAL - Eception ERROR MESSAGES/STACK TRACES THAT OCCUR : Exception in thread "main" java.util.FormatFlagsConversionMismatchException: Conversion = s, Flags = # at java.util.Formatter$FormatSpecifier.failMismatch(Formatter.java:4041) at java.util.Formatter$FormatSpecifier.printString(Formatter.java:2834) at java.util.Formatter$FormatSpecifier.print(Formatter.java:2718) at java.util.Formatter.format(Formatter.java:2494) at java.util.Formatter.format(Formatter.java:2423) at java.lang.String.format(String.java:2845) REPRODUCIBILITY : This bug can be reproduced always.