This week's book giveaway is in the Servlets forum.
We're giving away four copies of Murach's Java Servlets and JSP and have Joel Murach on-line!
See this thread for details.
The moose likes Java in General and the fly likes narrowing primitive conversion Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "narrowing primitive conversion" Watch "narrowing primitive conversion" New topic

narrowing primitive conversion

sriram sandhya

Joined: Nov 05, 2002
Posts: 2
I was trying to compile a statement.
int i = 20;
final int j = 20;
byte a = i; //Fails
byte b = j; //does not complain.
In the book I am reading the author says that since the final value of j is in the range of byte b, it won't complain. then why does the line before fails. Is it because we do not know the value of i for sure(unlike j) and it might go out of range of byte a?
Any help will be greatly appreciated
Dirk Schreckmann

Joined: Dec 10, 2001
Posts: 7023
I think you are understanding the situation. The compiler can determine (and link) the value of the final variable at compile time. The other variable is not final, so the "link" cannot be made (and the value guaranteed) at compile time and so the compiler error.

[How To Ask Good Questions] [JavaRanch FAQ Wiki] [JavaRanch Radio]
sriram sandhya

Joined: Nov 05, 2002
Posts: 2
Thanks for the reply.
wood burning stoves
subject: narrowing primitive conversion
Similar Threads
Simple Assignment Operator =
Narrowing Primitive Conversions
Java Primitive Literals
Doubt in Numeric conversion(Khalid Mughal)
A question