Win a copy of The Java Performance Companion this week in the Performance forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Compile Time constant??

 
Abhi vijay
Ranch Hand
Posts: 509
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
What is a Compile time constant??

What is the difference between a,b??
final int a=1;
final int b;
b=2;
int x=0;
switch(x)
case a:
case b://complier error.
 
Rekha Srinath
Ranch Hand
Posts: 178
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Abhi,
Compile time constant is a constant value that the compiler assigns to the variable during compile time itself.

final int a=1; -- This is a compile time constant because during compile time itself, a value of 1 is assigned to 'a', and since it is final, it cannot be changed further.

final int b -- During compile time, this statement only declares 'b', no value is assigned. During runtime only, the value 2 is given to 'b'.

switch-cases expect compile time constants in the case statements. But in your code, since you have used a non-compile time constant for case statement, the compiler error is given out.
 
Abhi vijay
Ranch Hand
Posts: 509
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks, a lot,Rekha.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic