我使用的是一个旧项目,有以下几行代码:
System.getProperties().put("http.proxyHost", proxyHost);这一行是否更改了系统属性http.proxyHost?
发布于 2017-04-27 16:50:53
它不会在您的程序之外更改系统属性。
System.getProperties()返回一个Properties对象。每次调用getProperties()方法都会返回相同的对象。
但是您可以在此对象中添加或覆盖属性,这是通过调用put来完成的。
因此,实际上,在您的程序中,System.getProperties().get("http.proxyHost")返回的值被更改了。
发布于 2017-04-27 16:43:32
您的代码将只修改从System.getProperties()调用返回的对象。但是看起来下一个调用者使用相同的属性对象。所以,答案是肯定的。
发布于 2017-04-27 16:48:14
是的,它起作用了:
System.getProperties().put("http.proxyHost", "1.2.3.4");
String x = (String) System.getProperties().get("http.proxyHost");
System.out.println(x); // prints 1.2.3.4https://stackoverflow.com/questions/43652706
复制相似问题