stavo attraversando pacchetto java.net e read this:Come vengono scritti gli URL una sola volta?
URL sono oggetti "write-once". Una volta creato un oggetto URL, non è possibile modificare alcuno dei suoi attributi (protocollo, nome host, nome file o numero di porta ) da .
Ma, se guardiamo in java.net.URL troveremo questo:
protected void set(String protocol, String host,
int port, String file, String ref)
e
protected void set(String protocol, String host, int port,
String authority, String userInfo, String path,
String query, String ref)
Quindi, so che queste sono protette metodi, ma questi è possibile accedere via
public static void setURLStreamHandlerFactory(URLStreamHandlerFactory fac)
Quindi, la mia domanda è, se quella affermazione che ho citato in cima è vaga o l'ho solo fraintesa?
Si prega di fornire un link al tuo preventivo "URL sono write-once ...". Quindi possiamo capire meglio il contesto – CocoNess
Guardate in fondo a questo: http://docs.oracle.com/javase/tutorial/networking/urls/creatingUrls.html – dosdebug
La domanda probabilmente è meglio chiedersi, "è è appropriato usare un "URLStreamHandler" inventato per modificare campi altrimenti immutabili? " A meno che tu non stia facendo qualcosa nello spirito dello scopo di 'URLStreamHandler', probabilmente la risposta è no. –