1

次のコードでは、文字列の連結はコンパイル時に行われますが、toCharArray は実行時に行われます。私の質問 - 実行時に toCharArray が実行されるのはいつですか? 静的ブロックと同様に、コンストラクターが実行される前ですか?

private final static char[] DigitTens = {
     ("0000000000"+ "1111111111"+"2222222222"+"3333333333"+"4444444444" //
     +"5555555555"+"6666666666"+"7777777777"+"8888888888"+"9999999999")
      .toCharArray();             
};
4

3 に答える 3

2

これは静的な初期化です。 toCharArray()クラスが初期化されるときに呼び出されます。

于 2013-10-05T16:14:15.700 に答える
1

静的イニシャライザは、クラスがロードされるときに定義された順序で実行されます (単純な変数イニシャライザと同じようにトップダウン)。この場合、 toCharArray() は、クラスが初期化されるときに初期化されます。

于 2013-10-05T16:17:54.193 に答える
0

DigitTens を含むクラスが呼び出されたとき。

于 2013-10-05T16:15:32.873 に答える