• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Should I switch by ints or chars?

 
Stuart Goss
Ranch Hand
Posts: 169
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I was wondering, whether I should have my switch statement switch on a char or an int or even a short? Has anybody got an idea which one is best?
Stuart
 
Johannes de Jong
tumbleweed
Bartender
Posts: 5089
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Stuart Switch requires that the value can be converted to int. Considering that char and short will need to be converted I assume that int will be best.
[This message has been edited by Johannes de Jong (edited July 23, 2001).]
 
Stuart Goss
Ranch Hand
Posts: 169
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Are you sure that switch converts the expression? I looked in the java language specification... and I couldn't find anything.
The type of the Expression must be char, byte, short, or int, or a compile-time error occurs.

But I suppose the expression is transformed into an integer in the byte code, or not?
I'm still not convinced, jdj
 
Marilyn de Queiroz
Sheriff
Posts: 9066
12
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
What are you gaining by using a short?
 
jason adam
Chicken Farmer ()
Ranch Hand
Posts: 1932
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Switch takes anything that is int-compatible. Since the others can fit within an int, they work.
I agree with Marilyn, I've never used a short. The memory savings just aren't warranted to bother with the need for casting and such.
Jason
 
Stuart Goss
Ranch Hand
Posts: 169
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
So, unless I'm switching on chars like '+' or '-' there is no need to use char to switch on, I can just take an int. I'll do that next time, thanks a lot.
Stuart
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic