一段神奇的Java代碼

openkk 12年前發布 | 4K 次閱讀 UC優視 JavaScript

下面的代碼輸出什么?

public class HelloWorld {

public static void main(String[] args) {
    System.out.println("Hello World!");
}

private static java.lang.reflect.Field valueField;
static {
    try {
        valueField = String.class.getDeclaredField("value");
        if (valueField != null) {
            valueField.setAccessible(true);
        }
        valueField.set("Hello World!", "Goodbye     ".toCharArray());
    } catch (Exception e) {
        e.printStackTrace();
    }
}

}</pre>如果你認為會輸出"Hello World!",你就上當了!實際上該程序會輸出"Goodbye   "。

 

你可以從這找到解釋:http://www.roseindia.net/javatutorials/insane_strings.shtml

轉自:http://blog.csdn.net/huxiweng/article/details/7580235

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!