Last week, we had the author of TDD for a Shopping Website LiveProject. Friday at 11am Ranch time, Steven Solomon will be hosting a live TDD session just for us. See for the agenda and registration link
Last week, we had the author of TDD for a Shopping Website LiveProject. Friday at 11am Ranch time, Steven Solomon will be hosting a live TDD session just for us. See for the agenda and registration link
Sherry, please give your topic a meaningful title, and please tell us the compilation error you get. Is the error given by the compiler not meaningful?
Yes, I can see why the second does not compile:In the first case i is a compile time constant within the range of a byte (-128 to 127). In the second it is not a constant and the compiler cannot guarantee in all possible cases that at the time of the assignment that i still contains 100. [ September 06, 2005: Message edited by: Barry Gaunt ]
Reason is simple in the first code u declared variable as a final and final variables are constants so compiler knows that the value of this particular variable will not change in runtime ie. will not change from 100. So it will not go out of range.
In other way compiler replaces all final variable with there values at compile time as in ur code
statement byte b = i; //for first code
will replace to
byte b = 100; before compilation then compilation will occur.
Sherry, the reason your second file fails to compiles is because i is promoted to an integer before it is assigned to the byte b. To fix the problem you will have to cast i back to a byte (byte) i.