我想创建一个扩展,java.text.Format
但我不知道如何处理该Format.parseObject
方法。javadoc 状态
从给定字符串的开头解析文本以生成对象。该方法可能不会使用给定字符串的整个文本。
那么如果你想实现这个方法,你如何处理可以解析整个输入字符串的情况呢?您是抛出异常还是返回解析值(或其他内容)?请注意,异常的 javadoc 声明 aParseException
被抛出
如果无法解析指定字符串的开头。
IMO,如果我可以解析整个String
,我当然可以解析开头,所以没有理由抛出异常。查看JDK中这个方法的实现,他们似乎不尊重自己的文档
public Object parseObject(String source) throws ParseException {
ParsePosition pos = new ParsePosition(0);
Object result = parseObject(source, pos);
if (pos.index == 0) {
throw new ParseException("Format.parseObject(String) failed",
pos.errorIndex);
}
return result;
}