Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

assignment conversion

 
Karel KoboojBot
Ranch Hand
Posts: 35
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,
according to the JLS (p. 66) I think the following block of code should be allowed

but my IDE (Eclipse) reports this as an error. Did I make a wrong interpretation of the JLS or is the Eclipse IDE a bit too restrictive in this case ?
Thanks.
 
Corey McGlone
Ranch Hand
Posts: 3271
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
This is an error. You can not implicitly cast a short (2 bytes) to a byte (1 byte).
However, if the value you are assigning is a constant (and therefore known at compile time), the assignment is allowed, as long as the value fits into the destination type.
Try making your short final - that will make it a compile-time constant and I believe your code will work.
Corey
 
Karel KoboojBot
Ranch Hand
Posts: 35
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks, after reading the JLS section again it states clearly that the expression should be constant. Making it final does indeed work.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic