StringTokenizer :字符串分隔解析类型
属于: java.util 包。
1、构造函数。
1. StringTokenizer (String str) :构造一个用来解析 str 的 StringTokenizer 对象。 java 默认的分隔符是 “ 空格 ” 、 “ 制表符 ( ‘ \t ’ ) ” 、 “ 换行符 ( ‘ \n ’ ) ” 、 “ 回车符 ( ‘ \r ’ ) ” 。
2. StringTokenizer (String str, String delim) :构造一个用来解析 str 的 StringTokenizer 对象,并提供一个指定的分隔符。
3. StringTokenizer (String str, String delim, boolean returnDelims) :构造一个用来解析 str 的 StringTokenizer 对象,并提供一个指定的分隔符,同时,指定是否返回分隔符。
2、方法。
说明:
1. 所有方法均为 public ;
2. 书写格式:[修饰符] < 返回类型 > < 方法名([参数列表]) >
如:
static int parseInt(String s) 表示:此方法( parseInt )为类方法( static ),返回类型为( int ),方法所需参数为 String 类型。
<!-- [if !supportLineBreakNewLine]-->
<!-- [endif]-->
1. int countTokens() :返回 nextToken 方法被调用的次数。如果采用构造函数 1 和 2 ,返回的就是分隔符数量 ( 例 2) 。
2. boolean hasMoreTokens() :返回是否还有分隔符。
3. boolean hasMoreElements() :结果同 2 。
4. String nextToken() :返回从当前位置到下一个分隔符的字符串。
5. Object nextElement() :结果同 4 。
6. String nextToken(String delim) :与 4 类似,以指定的分隔符返回结果。
例子:
public TestStringTokenizer(String ejbql, int startingParameterNumber)
{
StringTokenizer tokens = new StringTokenizer(ejbql, "#}" , true );
ejbqlBuilder = new StringBuilder( ejbql.length() );
System. out .println( "===tokens===" +tokens);
while ( tokens.hasMoreTokens() )
{
String token = tokens.nextToken();
System. out .println( "===token===" +token);
if ( "#" .equals(token) )
{
String expression = token + expressionToken + tokens.nextToken();
ejbqlBuilder .append( ':' ).append( getParameterName ( startingParameterNumber + parameterValueBindings .size() ) );
parameterValueBindings .add( Expressions.instance ().createValueExpression( "#{baseygxxList.baseygxx.ygxm}" ) );
}
else
{
ejbqlBuilder .append(token);
}
}
System. out .println( "===ejbqlBuilder===" + ejbqlBuilder );
}