JDK-6235363 : [Fmt-*] Doc: Inconsistencies in handling of null FieldPosition in Format and subclasses
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.text
  • Affected Version: 5.0
  • Priority: P4
  • Status: Resolved
  • Resolution: Duplicate
  • OS: generic
  • CPU: generic
  • Submitted: 2005-03-03
  • Updated: 2016-11-09
  • Resolved: 2016-11-09
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 9
9Resolved
Related Reports
Duplicate :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Description
java.text.Format and its subclasses in java.text have format methods that accept FieldPosition arguments. The specifications and implementations disagree on the behavior resulting when a NullPointerException is passed in:

Format.format(Object, StringBuffer, FieldPosition):
specification: NPE; no implementation

DateFormat.format(Object, StringBuffer, FieldPosition):
specification: unspecified; implementation: pass-through

DateFormat.format(Date, StringBuffer, FieldPosition):
specification: unspecified; no implementation

SimpleDateFormat.format(Date, StringBuffer, FieldPosition):
specification: unspecified; implementation: NPE

MessageFormat.format(Object, StringBuffer, FieldPosition):
specification: unspecified; implementation: no exception

MessageFormat.format(Object[], StringBuffer, FieldPosition):
specification: unspecified; implementation: no exception

NumberFormat.format(Object, StringBuffer, FieldPosition):
specification: NPE; implementation: pass-through

NumberFormat.format(double, StringBuffer, FieldPosition):
specification: unspecified; no implementation

NumberFormat.format(long, StringBuffer, FieldPosition):
specification: unspecified; no implementation

DecimalFormat.format(Object, StringBuffer, FieldPosition):
specification: NPE; implementation: pass-through

DecimalFormat.format(double, StringBuffer, FieldPosition):
specification: unspecified; implementation: NPE

DecimalFormat.format(long, StringBuffer, FieldPosition):
specification: unspecified; implementation: NPE

ChoiceFormat.format(double, StringBuffer, FieldPosition):
specification: unspecified; implementation: no exception

ChoiceFormat.format(long, StringBuffer, FieldPosition):
specification: unspecified; implementation: pass-through

The specifications and implementations need to be made consistent. Allowing null FieldPositions in general seems the best approach.
###@###.### 2005-03-03 02:45:20 GMT

Comments
It is a duplicate of JDK-8169480
09-11-2016

EVALUATION Due to compatibility reason, we won't change current behavior of each class. API doc should be revised.
12-09-2005