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 );
}