我有一个使用HTTPS协议(protocol)的java.net.URL对象,例如:

https://www.bla.com

而且我只需要更改此URL对象的协议(protocol)部分,以便在调用toString()方法时得到以下信息:
http://www.bla.com

最好的方法是什么?

最佳答案

您将使用可用的方法:

URL oldUrl = new URL("https://www.bla.com");
URL newUrl = new URL("http", oldUrl.getHost(), oldUrl.getPort(), oldUrl.getFile(), oldUrl.getRef());

还有一个更扩展的set()方法,该方法需要8个项目,对于更复杂的URL,可能需要使用该方法。

编辑:正如刚刚向我指出的那样,我没有注意,而set() protected 。因此,URL在技术上是可变的,但对我们而言,这是不可变的。因此,您只需要构造一个新的URL对象。

09-11 17:34