比如一句话有我,
他的同义词是咱、俺。
网上的代码一般是
循环遍历执行incrementToken,然后每次添加一个同义词
比如:
// 如果有同义词
if (sames.size() > 0) {
// 将元素出栈,并且获取这个同义词
String str = sames.pop();
// 还原状态
restoreState(current);
cta.setEmpty();
cta.append(str);
// 设置位置0
pia.setPositionIncrement(0);
return true;
}
为什么不能是,如果有同义词,一次全部取出来:这样的执行结果是,只有最后一个同义词。
if (sames.size() > 0) {
while (sames.size() > 0) {
// 将元素出栈,并且获取这个同义词
String str = sames.pop();
// 还原状态
restoreState(current);
cta.setEmpty();
cta.append(str);
// 设置位置0
pia.setPositionIncrement(0);
}
return true;
}
这是为什么啊?