当我阅读关于 Patterns 的 Holub 时,我发现我无法理解的代码。
代码看起来像这样,如果你愿意,你可以在这里阅读部分书籍。
/** Matches a simple symbol that doesn't have to be on a "word"
* boundary; punctuation, for example. SimpleToken
* is very efficient, but does not recognize characters in
* a case-insensitive way, as does {@link WordToken} and
* {@link RegexToken}.
*
* @include /etc/license.txt
*/
public class SimpleToken implements Token
{
private final String pattern;
/** Create a token.
* @param pattern a string that defines a literal-match lexeme.
*/
public SimpleToken( String pattern )
{ this.pattern = pattern.toLowerCase();
}
public boolean match( String input, int offset )
{ return input.toLowerCase().startsWith( pattern, offset );
}
public String lexeme() { return pattern; }
public String toString(){ return pattern; }
}
评论(和书)说 SimpleToken 类“不以不区分大小写的方式识别字符”,但该match
方法以小写比较模式,这意味着它确实以不区分大小写的方式识别。
我在这里想念什么?
编辑
我在勘误表中搜索了这个(虽然不是官方的),但没有。很难将其视为勘误表。它多次提到这一点。