mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-04-19 03:01:48 +08:00
fixbug WordTree覆写clear方法✒️
This commit is contained in:
parent
442d4bd854
commit
ddf384884b
@ -321,5 +321,16 @@ public class WordTree extends HashMap<Character, WordTree> {
|
|||||||
this.endCharacterSet.add(c);
|
this.endCharacterSet.add(c);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 清除所有的词,
|
||||||
|
* 此方法调用后, wordTree 将被清空
|
||||||
|
* endCharacterSet 也将清空
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void clear() {
|
||||||
|
super.clear();
|
||||||
|
this.endCharacterSet.clear();
|
||||||
|
}
|
||||||
//--------------------------------------------------------------------------------------- Private method end
|
//--------------------------------------------------------------------------------------- Private method end
|
||||||
}
|
}
|
||||||
|
@ -101,6 +101,30 @@ public class DfaTest {
|
|||||||
Assert.assertEquals("[women]", matchAll.toString());
|
Assert.assertEquals("[women]", matchAll.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void clearTest(){
|
||||||
|
WordTree tree = new WordTree();
|
||||||
|
tree.addWord("黑");
|
||||||
|
Assert.assertTrue(tree.matchAll("黑大衣").contains("黑"));
|
||||||
|
//clear时直接调用Map的clear并没有把endCharacterSet清理掉
|
||||||
|
tree.clear();
|
||||||
|
tree.addWords("黑大衣","红色大衣");
|
||||||
|
|
||||||
|
//clear() 覆写前 这里想匹配到黑大衣,但是却匹配到了黑
|
||||||
|
// Assert.assertFalse(tree.matchAll("黑大衣").contains("黑大衣"));
|
||||||
|
// Assert.assertTrue(tree.matchAll("黑大衣").contains("黑"));
|
||||||
|
//clear() 覆写后
|
||||||
|
Assert.assertTrue(tree.matchAll("黑大衣").contains("黑大衣"));
|
||||||
|
Assert.assertFalse(tree.matchAll("黑大衣").contains("黑"));
|
||||||
|
Assert.assertTrue(tree.matchAll("红色大衣").contains("红色大衣"));
|
||||||
|
|
||||||
|
//如果不覆写只能通过new出新对象才不会有问题
|
||||||
|
tree = new WordTree();
|
||||||
|
tree.addWords("黑大衣","红色大衣");
|
||||||
|
Assert.assertTrue(tree.matchAll("黑大衣").contains("黑大衣"));
|
||||||
|
Assert.assertTrue(tree.matchAll("红色大衣").contains("红色大衣"));
|
||||||
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------------------------------------
|
||||||
/**
|
/**
|
||||||
* 构建查找树
|
* 构建查找树
|
||||||
|
Loading…
x
Reference in New Issue
Block a user