0

用 twitter4j 做一些 java 开发,很想知道我什么时候打电话

Status tweet = blah blah blah.
long tweetID = tweet.getId(); //Is this unique?

我设置了一个 HashSet 以跟踪我已经收到的推文,并且我有一个重复的打印声明。我的印象是 Twitter 使用 64 位长来生成唯一密钥,但我无法找到 twitter4j 推文 ID 和推特推文 ID 之间的任何关联。主要问题是:twitter4j 状态推文 ID 是唯一的吗?

[编辑] 一些阐述,我有一个长的 HashSet

HashSet<Long> usedIds = new HashSet<Long>();
//Get new twitter4j Status
if(!usedIds.contains(tweetID)) {
    //this is not a duplicate
    //Place id into set
    usedIds.add(tweetID);
    //do work
} else {
    //This is duplicate and my program is printing stuff
    //From what I've learned this condition should never be met but it is
}
4

1 回答 1

2

我相当肯定 twitter4j 会Status.getId()返回由 Twitter 确定的 Tweet 的唯一 ID。它不是创建自己的 ID。也许您的 HashSet 对密钥空间过于激进并且您遇到了冲突,但该getId调用将为您提供 Tweet 的实际 ID。

于 2013-08-13T17:53:41.007 回答