2016-12-06 43 views
-1

爲下列打印語句的輸出是相同的,沒有任何內部區別其是安全的,因爲每侵犯隱私權:堆檢驗差(炭[])

的char [ ] ch = {'p','a','s','s','w','o','r','d'};

System.out.println(String.valueOf(ch)); 

System.out.println(new String(ch)); 
+3

當你努力閱讀javadoc時,你不明白什麼? –

+0

提問這個問題有隱私違規問題。有一種稱爲fortify的工具,它掃描整個應用程序並生成問題報告隱私侵犯堆檢查就是其中之一。對於String.valueof它顯示堆檢查問題,但是當我使用新的字符串(聊天陣列)它得到解決,雖然沒有區別如此問。評論贊賞@SotiriosDelimanolis – prathamesh

回答

1

沒有區別

valueOf是調用靜態工廠方法String構造

1

有沒有真正的區別,因爲內部實現valueOf如下:

public static String valueOf(char data[]) { 
    return new String(data); 
} 

由於你可以直接看到它的電話new String(data)