套接字getInetAddress方法覆盖

时间:2013-04-07 19:10:04

标签: java sockets methods override

我一直想知道是否可以覆盖Java的socket.getInetAddress()方法以提供与 / IP 不同的输出。例如,只需 IP

我知道这是一个很小的改变,但自定义格式有时是可取的。

这可以轻松完成还是需要字符串操作?例如。使用substring(1)

4 个答案:

答案 0 :(得分:1)

Socket未声明finalSocket.getInetAddress不是final,您可以覆盖它,即使这不是一个好主意......

在套接字return super.getInetAddress().substring(1);的实现中应该有效。

您也必须提供自己的SocketFactory。我相信,现实是一个坏主意。

答案 1 :(得分:1)

问题是API类永远不会返回你的Socket版本,所以你不能使用覆盖。我建议一个简单的实用方法,根据你的需要改变地址。

答案 2 :(得分:1)

如果您想让课程界面更符合您的需求,您可以查看Facade Pattern

答案 3 :(得分:0)

您命名的方法不会产生任何输出。您描述的格式来自InetAddress.toString()方法。如果您不想要该格式,请不要调用该方法。有InetAddress方法只获取主机名或只是地址。使用它们。不是一个真正的问题。