Компилятор апекса совершенно игнорирует перезапись финальных полей, и локальных переменных. Это нормальное явление? Код приведенный ниже удачно компилируется.
Это бага ихнего компилятора? или нормально?
public class TestFinalModifier {
public static String notFinalStr = '';
public static final String str = '';
{
str = 'sss';
str = 'dddd';
final String aa = '';
aa = 'dd';
aa = 'ff';
}
{
str = '5';
}
}
Компилятор апекса совершенно игнорирует перезапись финальных полей, и локальных переменных. Это нормальное явление? Код приведенный ниже удачно компилируется. Это бага ихнего компилятора? или нормально? [code]public class TestFinalModifier { public static String notFinalStr = ''; public static final String str = ''; { str = 'sss'; str = 'dddd'; final String aa = ''; aa = 'dd'; aa = 'ff'; } { str = '5'; } }[/code]
Глянул в доку. Я почему-то посчитал что тут поведение от Java не отличается - но нет :)
[quote]Static final variables can be changed in static initialization code or where defined. Member final variables can be changed in initialization code blocks, constructors, or with other variable declarations.[/quote] Глянул в доку. Я почему-то посчитал что тут поведение от Java не отличается - но нет :)
Да, есть такое дело.
Да, есть такое дело.