-2

Eclipse Luna を使用して、非推奨の Google コレクションをインポートする Java コードを実行しようとしていますが、最新の Guava バージョンでコンパイルすると例外がスローされます。

public static void run(String consumerKey, String consumerSecret, String token, String secret) throws InterruptedException
{

    BlockingQueue<String> queue = new LinkedBlockingQueue<String>(10000);
    StatusesFilterEndpoint endpoint = new StatusesFilterEndpoint();
    endpoint.trackTerms(Lists.newArrayList("twitterapi", "#AAPSweep"));
    Authentication auth = new OAuth1(consumerKey, consumerSecret, token, secret);

    Client client = new ClientBuilder()
    .hosts(Constants.STREAM_HOST)
    .endpoint(endpoint)
    .authentication(auth)
    .processor(new StringDelimitedProcessor(queue))
    .build();

    client.connect();

プラグインから com.google.guava_15.0.0.v201403281430 ファイルを削除しようとしましたが、コメントでここで説明されているようにグアバの古いバージョンを貼り付けようとしましたが、古いグアバ バージョンにインストール (ポイント) できません。また、この問題には別の解決策があるかもしれません、私はJavaが初めてで、そのリストを他のリストに置き換える方法がわかりません。

他の List メソッドを使用してそのコードを実行できる人はいますか? または、古いバージョンの Guava を eclipse に追加する方法を教えてください (スレッドから読み取るだけでその問題を解決できるかどうかはわかりません) または他の解決策を教えてください。ありがとうございました

4

1 に答える 1

4

GuavaLists.newArrayListは、標準の JDK を作成し、ArrayListそれに事前定義された値を入力するための単なる省略形です。を使用して、サードパーティのライブラリを使用せずに、もう少し長い方法でこれを行うことができますArrays.asList

endpoint.trackTerms(new ArrayList<>(Arrays.asList("twitterapi", "#AAPSweep")));

または、作成されたリストに構造的な変更が必要ない場合は、さらに簡単です。

endpoint.trackTerms(Arrays.asList("twitterapi", "#AAPSweep"));
于 2015-09-14T12:09:33.377 に答える