我有一个使用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对象。