3. import java.util.*;
4. public class Values {
5. public static void main(String[] args) {
6. Properties p = System.getProperties();
7. p.setProperty("myProp", "myValue");
8. System.out.print(p.getProperty("cmdProp") + " ");
9. System.out.print(p.getProperty("myProp") + " ");
10. System.out.print(p.getProperty("noProp") + " ");
11. p.setProperty("cmdProp", "newValue");
12. System.out.println(p.getProperty("cmdProp"));
13. }
14. }
而且給出的命令行調用:系統屬性,理由需要
java -DcmdProp=cmdValue Values
結果是什麼?
A.空myvalue的空空
B. cmdValue空空cmdValue
C. cmdValue空空NEWVALUE
D. cmdValue myvalue的空cmdValue
E. cmdValue myvalue的空NEWVALUE
F.運行時拋出異常
這個問題來自SCJP,答案是「E」。但據我看,答案應該是D,因爲當我們從命令行提示符調用時,我們設置「cmdProp」=「cmdValue」的值。所以,在第12行,爲什麼它給出了與關鍵cmdProp相對應的newValue。
由於線11! – assylias