java System.getProperties().put();
我在一个老项目中工作,有以下几行:java System.getProperties().put();,java,properties,system,Java,Properties,System,我在一个老项目中工作,有以下几行: System.getProperties().put("http.proxyHost", proxyHost); 此行是否更改了系统属性http.proxyHost?您的代码将只修改system.getProperties()调用返回的对象。 但下一个调用方似乎使用相同的properties对象。因此,答案是肯定的。是的,它有效: System.getProperties().put("http.proxyHost", "1.2.3.4"); String
System.getProperties().put("http.proxyHost", proxyHost);
此行是否更改了系统属性http.proxyHost?您的代码将只修改system.getProperties()调用返回的对象。 但下一个调用方似乎使用相同的properties对象。因此,答案是肯定的。是的,它有效:
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.4
它不会更改程序外部的系统属性
System.getProperties()
返回一个Properties
对象。每次调用getProperties()
方法都会返回相同的对象
但是您可以在这个对象中添加或覆盖属性,这是通过调用put
完成的
因此实际上,在您的程序中,
System.getProperties().get(“http.proxyHost”)
返回的值会发生更改。您可以立即通过另一个getProperties
进行检查。请报告。Javadoc(可以更清楚地确定)使它听起来像是一个也将返回给后续调用方的单例对象。是的。谢谢@Thilo。编辑了答案。