我一直想知道它是否可以覆蓋Java的socket.getInetAddress()
方法給予不同的輸出比/IP。例如,只需要IP。插座getInetAddress方法重寫
我知道這是一個小小的改變,但自定義格式有時是可取的。
這可以很容易地完成或是字符串操作必要?例如。使用substring(1)
?
我一直想知道它是否可以覆蓋Java的socket.getInetAddress()
方法給予不同的輸出比/IP。例如,只需要IP。插座getInetAddress方法重寫
我知道這是一個小小的改變,但自定義格式有時是可取的。
這可以很容易地完成或是字符串操作必要?例如。使用substring(1)
?
Socket未聲明final
,Socket.getInetAddress
不是final
,你可能覆蓋它,即使它不是一個好主意......
在您的實現插座的應該工作。
您也必須提供您自己的SocketFactory。我相信現實是一個壞主意。
問題是,API類永遠不會返回您的版本的套接字,所以你不能與覆蓋。我建議一個簡單的實用方法,根據您的需要更改地址。
這是SocketFactory的意圖。 – Aubin 2013-04-07 19:15:58
如果您希望使該類的界面更適合您的需求,您可以檢查Facade Pattern。
您指定的方法不會產生任何輸出。你描述的格式來自InetAddress.toString()方法。如果您不想使用這種格式,請不要調用該方法。有InetAddress方法來獲取主機名或地址。使用它們。不是一個真正的問題。
我沒有看到這種方法被宣佈爲最終的,也沒有宣佈最終的類,所以理論上,是的,它可以做到。 – Makoto 2013-04-07 19:12:56