我一直想知道是否有可能重写Java的socket.getInetAddress()
方法以提供与/IP 不同的输出。例如,仅 IP 。
我知道这是一个很小的变化,但是自定义格式有时更可取。
可以轻松完成此操作还是必须进行字符串操作?例如。使用substring(1)
吗?
最佳答案
Socket没有声明为final
, Socket.getInetAddress
不是final
,即使它不是一个好主意,您也可以覆盖它。
在您的套接字实现return super.getInetAddress().substring(1);
应该工作。
您还必须提供自己的SocketFactory。我相信现实是一个坏主意。