如何获得HttpsUrlConnection对象的唯一ID

问题描述:

我在Java中使用HttpsURLConnection并通过某种循环创建了10个连接,稍后由我的程序中的不同线程使用。如何获得HttpsUrlConnection对象的唯一ID

HttpsURLConnection connection = null; 
connection = (HttpsURLConnection) url.openConnection(); 

想知道如何知道当前线程使用哪个连接。我只需要一些连接的唯一标识符。

一些东西一样,

System.out.println(connection); 

但上面的System.out语句印刷非常通用的服务器名称。不是连接对象的哈希码。

想知道我该怎么做?

+2

也许'connection.hashCode()'? – TeWu

+0

谢谢Tewu。这个Api方法有些过头了。请在答案框中回复。 – Ammad

+0

或者['System.identityHashCode(connection)'](http://*.com/questions/4930781/how-do-hashcode-and-identityhashcode-work-at-the-back-end) – zapl

hashCode方法定义在java.lang.Object(并在需要时在子类中重写),因此您可以在任何对象上调用它。在你的情况connection.hashCode()应该给你的connection对象的哈希码。

哈希码可以相同。记住哈希码并且等于javadoc中的契约。

请尽量避免依赖哈希码。因为它不是一个好的做法,并且在一般情况下hashcode每次都是不同的。但它不保证是独一无二的。

你可以使用类似连接管理api的东西。

请参考下面的链接。可能会有帮助。

如果你可以分享你的代码或整个图片我可以帮助更好的方式。

http://www.baeldung.com/httpclient-connection-management