未提供位置时的 Twitter4j FilterQuery NullPointerException
Twitter4j FilterQuery NullPointerException when location is not provided
我正在构建一个应用程序来提取包含不同过滤器的推文,这些过滤器可能会或不会在每种情况下使用(位置、语言、曲目)。我使用了一个 FilterQuery 和几个 TwitterStreamingListener。
基本上我构建了一个包含每个听众要求的查询,然后我从 Twitter 流中收集推文。
twitterStream.filter(query);
除了 none 的听众包含位置要求的情况外,它工作正常。然后,不使用位置字段并保持为空:
FilterQuery{count=0, follow=null, track=[party,night,house], locations=[null], language=[en]}
当其他字段保持为空时没有问题,但在这种情况下,我收到此错误:
Exception in thread "Twitter Stream consumer-18[Establishing connection]" java.lang.NullPointerException
ERROR [stderr] (Twitter Stream consumer-18[Establishing connection]) at twitter4j.FilterQuery.toLocationsString(FilterQuery.java:200)
ERROR [stderr] (Twitter Stream consumer-18[Establishing connection]) at twitter4j.FilterQuery.asHttpParameterArray(FilterQuery.java:182)
ERROR [stderr] (Twitter Stream consumer-18[Establishing connection]) at twitter4j.TwitterStreamImpl.getFilterStream(TwitterStreamImpl.java:306)
ERROR [stderr] (Twitter Stream consumer-18[Establishing connection]) at twitter4j.TwitterStreamImpl.getStream(TwitterStreamImpl.java:287)
ERROR [stderr] (Twitter Stream consumer-18[Establishing connection]) at twitter4j.TwitterStreamImpl$TwitterStreamConsumer.run(TwitterStreamImpl.java:488)
我是否应该始终在 FilterQuery 中包含位置信息?或者是否有任何其他表达式(而不是 null)表示不需要位置?
此查询的正确语法为:
FilterQuery{count=0, follow=null, track=[party,night,house], locations=null, language=[en]}
这是在没有调用 query.locations() 方法时形成的查询。但是,我的代码调用此方法发送了一个空的位置列表,这导致了 API.
不接受的不同查询。
我正在构建一个应用程序来提取包含不同过滤器的推文,这些过滤器可能会或不会在每种情况下使用(位置、语言、曲目)。我使用了一个 FilterQuery 和几个 TwitterStreamingListener。 基本上我构建了一个包含每个听众要求的查询,然后我从 Twitter 流中收集推文。
twitterStream.filter(query);
除了 none 的听众包含位置要求的情况外,它工作正常。然后,不使用位置字段并保持为空:
FilterQuery{count=0, follow=null, track=[party,night,house], locations=[null], language=[en]}
当其他字段保持为空时没有问题,但在这种情况下,我收到此错误:
Exception in thread "Twitter Stream consumer-18[Establishing connection]" java.lang.NullPointerException
ERROR [stderr] (Twitter Stream consumer-18[Establishing connection]) at twitter4j.FilterQuery.toLocationsString(FilterQuery.java:200)
ERROR [stderr] (Twitter Stream consumer-18[Establishing connection]) at twitter4j.FilterQuery.asHttpParameterArray(FilterQuery.java:182)
ERROR [stderr] (Twitter Stream consumer-18[Establishing connection]) at twitter4j.TwitterStreamImpl.getFilterStream(TwitterStreamImpl.java:306)
ERROR [stderr] (Twitter Stream consumer-18[Establishing connection]) at twitter4j.TwitterStreamImpl.getStream(TwitterStreamImpl.java:287)
ERROR [stderr] (Twitter Stream consumer-18[Establishing connection]) at twitter4j.TwitterStreamImpl$TwitterStreamConsumer.run(TwitterStreamImpl.java:488)
我是否应该始终在 FilterQuery 中包含位置信息?或者是否有任何其他表达式(而不是 null)表示不需要位置?
此查询的正确语法为:
FilterQuery{count=0, follow=null, track=[party,night,house], locations=null, language=[en]}
这是在没有调用 query.locations() 方法时形成的查询。但是,我的代码调用此方法发送了一个空的位置列表,这导致了 API.
不接受的不同查询。