在下面的代码中,我知道string concat是在编译时完成的,但是toCharArray是在运行时完成的。我的问题 - 在运行时期间,toCharArray被执行了吗?是在执行构造函数之前,类似于静态块吗?
private final static char[] DigitTens = {
("0000000000"+ "1111111111"+"2222222222"+"3333333333"+"4444444444" //
+"5555555555"+"6666666666"+"7777777777"+"8888888888"+"9999999999")
.toCharArray();
};
答案 0 :(得分:2)
This is a static initialization. toCharArray()
将在初始化类时被调用。
答案 1 :(得分:1)
静态初始值设定项在加载类时按照它们的定义顺序执行(自顶向下,就像简单的变量初始值设定项一样)。在这种情况下,当Class初始化时,toCharArray()将初始化。
答案 2 :(得分:0)
当包含DigitTens的类被调用时。