这种表示法是什么:Java中的MyClassName <string>是什么意思?</string>

时间:2013-03-01 09:48:06

标签: java twitter

Twitter发布了一个Java客户端库,并包含以下用于使用它的示例代码:

// Connect to the filter endpoint, tracking the term "twitterapi"
Hosts host = new BasicHost(Constants.STREAM_HOST);
StreamingEndpoint endpoint = new StatusesFilterEndpoint();
endpoint.trackTerms(Lists.newArrayList("twitterapi"));

// Drop in the oauth credentials for your app, available on dev.twitter.com
Authentication auth = new OAuth1("consumerKey", "consumerSecret", 
                             "token", "tokenSecret");

// Initialize a queue to collect messages from the stream
BlockingQueue<String> messages = new LinkedBlockingQueue<String>(100000);

// Build a client and read messages until the connection closes.
ClientBuilder builder = new ClientBuilder()
    .name("FooBarBaz-StreamingClient")
    .hosts(host)
    .authentication(auth)
    .endpoint(endpoint)
    .processor(new StringDelimitedProcessor(messages));
Client client = builder.build;
client.connect();

while (!client.isDone()) {
  String message = messages.take();
  // Do something with message
}

发布公告:https://dev.twitter.com/blog/the-hosebird-client-streaming-library

有角度的括号是什么意思?

2 个答案:

答案 0 :(得分:3)

BlockingQueue<String>的一个超级接口是Collection。 这意味着它实现了java.util.Collection的功能,它使您可以使用泛型并使集合强制保存! 通用:

BlockingQueue<String>

你只能在BlockingQueue中使用String。 尝试添加其他值,IDE将通知您不匹配。这是一个很大的好处,因为在应用程序的运行时期间不会进行检查。

答案 1 :(得分:0)

这意味着messagesLinkedBlockingQueue的一个实例,适用于String类型的对象。有关另一个示例,请参阅java的HashMap;有关Java中的泛型的简要介绍,请参阅wikipedia