我想轉換一個java.net.InetAddress
,並且我與簽名/未簽名的問題進行了鬥爭。這樣的痛苦。將java.net.InetAddress轉換成長整數
我讀convert from short to byte and viceversa in Java和Why byte b = (byte) 0xFF is equals to integer -1?
而作爲一個結果出來了:
final byte [] pumpeIPAddressRaw =
java.net.InetAddress.getByName (pumpeIPAddressName).getAddress();
final long pumpeIPAddress =
((pumpeIPAddressRaw [0] & 0xFF) << (3*8)) +
((pumpeIPAddressRaw [1] & 0xFF) << (2*8)) +
((pumpeIPAddressRaw [2] & 0xFF) << (1*8)) +
(pumpeIPAddressRaw [3] & 0xFF);
android.util.Log.i (
Application.TAG, "LOG00120: Setzte Pumpen Addresse : " +
pumpeIPAddress + ":" + pumpeIPPort);
你猜是什麼日誌還表示:
04-10 13:12:07.398 I/ch.XXXX.remote.Application(24452): LOG00120: Setzte Pumpen Addresse : -1063035647:27015
有誰知道我還有什麼做錯了?
歡迎來到stackoverflow!爲了使這個問題更好,你可以給出更多關於這個問題的解釋,而不僅僅是發佈代碼嗎?謝謝! – 2014-02-27 14:06:34