2017-04-06 9 views
0

私は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://stackoverflow.com/questions/4930781/how-do-hashcode-and-identityhashcode-work-at-the-back-end) – zapl

答えて

2

java.lang.Objectで定義されており、必要に応じてサブクラスでオーバーライドされるため、どのオブジェクトでも呼び出すことができます。あなたのケースではconnection.hashCode()connectionオブジェクトのハッシュコードを与える必要があります。

0

ハッシュコードは両方とも同じにすることができます。 Hashcodeを覚えていて、javadocsの契約と同じです。

ハッシュコードに頼らえないようにしてください。良い例ではなく、一般的にハッシュコードは毎回異なります。しかし、それはユニークであることが保証されていません。

接続管理APIのようなものを使用できます。

以下のリンクを参照してください。それが助けになるかもしれない。

あなたのコードや画像全体を共有することができれば、私はより良い方法でお手伝いできます。

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

関連する問題