2017-09-27 10 views
-1

deepToStringが実際に行っていたことに興味があったので、このメソッドを見に行きました。私の具体的な質問は、配列オブジェクトの長さを20倍して実際に達成するのは何ですか?配列のクラスdeepToStringメソッド

public static String deepToString(Object[] a) { 
    if (a == null) 
     return "null"; 

    int bufLen = 20 * a.length; 
    if (a.length != 0 && bufLen <= 0) 
     bufLen = Integer.MAX_VALUE; 
    StringBuilder buf = new StringBuilder(bufLen); 
    deepToString(a, buf, new HashSet<Object[]>()); 
    return buf.toString(); 
} 

答えて

2

パフォーマンスベットです。これは、StringBuilderを大きすぎるサイズで初期化し、バッファのサイズを何度も(またはまったく)変更することなくすべてを連結し、あまりにも多くのメモリを浪費しないように大きすぎないようにします。

+0

説明をいただきありがとうございます。 – user2023608

関連する問題