如何获取 HttpsUrlConnection 对象的唯一 ID
How to get unique ID of HttpsUrlConnection Object
我在 Java 中使用 HttpsURLConnection 并通过某种循环创建了 10 个连接,这些连接后来被我程序中的不同线程使用。
HttpsURLConnection connection = null;
connection = (HttpsURLConnection) url.openConnection();
想知道如何知道当前线程使用哪个连接。我只需要一些唯一的连接标识符。
有些东西,比如,
System.out.println(connection);
但上面的 System.out 语句打印的是非常通用的服务器名称。不是连接对象的哈希码。
想知道我该怎么做?
hashCode
方法在 java.lang.Object
上定义(并在需要时在子类中覆盖),因此您可以在任何对象上调用它。在你的情况下 connection.hashCode()
应该给你 connection
对象的哈希码。
两者的哈希码可以相同。记住 javadocs 中的 Hashcode 和 equals 契约。
请尽量避免依赖哈希码。由于这不是一个好的做法,而且在一般情况下,哈希码每次都不同。但不能保证是独一无二的。
您可以使用连接管理之类的东西 api。
请参考下文link。也许它可以帮助。
如果您可以分享您的代码或完整图片,我可以提供更好的帮助。
我在 Java 中使用 HttpsURLConnection 并通过某种循环创建了 10 个连接,这些连接后来被我程序中的不同线程使用。
HttpsURLConnection connection = null;
connection = (HttpsURLConnection) url.openConnection();
想知道如何知道当前线程使用哪个连接。我只需要一些唯一的连接标识符。
有些东西,比如,
System.out.println(connection);
但上面的 System.out 语句打印的是非常通用的服务器名称。不是连接对象的哈希码。
想知道我该怎么做?
hashCode
方法在 java.lang.Object
上定义(并在需要时在子类中覆盖),因此您可以在任何对象上调用它。在你的情况下 connection.hashCode()
应该给你 connection
对象的哈希码。
两者的哈希码可以相同。记住 javadocs 中的 Hashcode 和 equals 契约。
请尽量避免依赖哈希码。由于这不是一个好的做法,而且在一般情况下,哈希码每次都不同。但不能保证是独一无二的。
您可以使用连接管理之类的东西 api。
请参考下文link。也许它可以帮助。
如果您可以分享您的代码或完整图片,我可以提供更好的帮助。