8312411: MessageFormat.formatToCharacterIterator() can be improved

Reviewed-by: naoto
This commit is contained in:
Justin Lu 2023-07-28 17:33:20 +00:00
parent e2cb0bc6f1
commit 23755f90c9

View file

@ -948,20 +948,16 @@ public class MessageFormat extends Format {
* @since 1.4 * @since 1.4
*/ */
public AttributedCharacterIterator formatToCharacterIterator(Object arguments) { public AttributedCharacterIterator formatToCharacterIterator(Object arguments) {
Objects.requireNonNull(arguments, "arguments must not be null");
StringBuffer result = new StringBuffer(); StringBuffer result = new StringBuffer();
ArrayList<AttributedCharacterIterator> iterators = new ArrayList<>(); ArrayList<AttributedCharacterIterator> iterators = new ArrayList<>();
if (arguments == null) {
throw new NullPointerException(
"formatToCharacterIterator must be passed non-null object");
}
subformat((Object[]) arguments, result, null, iterators); subformat((Object[]) arguments, result, null, iterators);
if (iterators.size() == 0) { if (iterators.size() == 0) {
return createAttributedCharacterIterator(""); return createAttributedCharacterIterator("");
} }
return createAttributedCharacterIterator( return createAttributedCharacterIterator(
iterators.toArray( iterators.toArray(new AttributedCharacterIterator[0]));
new AttributedCharacterIterator[iterators.size()]));
} }
/** /**