我在Java中使用HttpsURLConnection并通过某种循环创建了10个连接,后来我的程序中的不同线程使用了这些连接。
HttpsURLConnection connection = null;
connection = (HttpsURLConnection) url.openConnection();
想知道我怎么知道当前线程使用了哪个连接。我只需要一些唯一的连接标识符。
有些事情,
System.out.println(connection);
但是在System.out语句之上是打印非常通用的服务器名称。不是连接对象的哈希码。
想知道我该怎么做?
答案 0 :(得分:2)
hashCode
方法在java.lang.Object
上定义(并在需要时在子类中重写),因此您可以在任何对象上调用它。在您的情况下,connection.hashCode()
应该为您提供connection
对象的哈希码。
答案 1 :(得分:0)
两者的Hashcode可能相同。记住Hashcode并在javadocs中等于契约。
请尽量避免依赖哈希码。由于它不是一个好的做法,一般情况下哈希码每次都不同。但它不能保证是独一无二的。
您可以使用连接管理API。
请参阅以下链接。可能会有所帮助。
如果您可以分享您的代码或整个图片,我可以更好地帮助您。