1

私は最近Crawler4jを実装しました。コードを 1 行ずつ分解して自分で学習しようとしています。以下のコード行にある !FILTERS オブジェクトの意味がわかりません。

 @Override
    public boolean shouldVisit(WebURL url) {
            String href = url.getURL().toLowerCase();
            return !FILTERS.matcher(href).matches() && href.startsWith("http://www.ics.uci.edu/");
    }

誰かが私を理解するのを手伝ってくれたら大歓迎です!FILTERS

4

2 に答える 2

2

これは単に条件の否定です...次のように読む必要があります。

! ( FILTERS.matcher(href).matches() ) [...]

基本的に、フィルターがhrefと一致せず、hrefが「http://www.ics.uci.edu/」で始まる場合、その関数はtrueを返します。

于 2012-09-22T06:53:12.803 に答える
1

の反対の値FILTERS.matcher(href).matches()。基本的に感嘆符はnegate記号​​とも呼ばれます。

この条件FILTERS.matcher(href).matches()がtrueを返す場合、falseに変更されます。

于 2012-09-22T06:53:09.260 に答える