Wild guessing here, I haven't even tried it (too lazy
![](https://coderanch.com/images/smilies/8a80c6485cd926be453217d59a84a888.gif)
). I'm putting my
java intuition to the
test.
Could it be an assignment matter ? On line 1, the compiler can see that the value, although an int literal, holds in a byte (less than 127). So no casting needeed When you pass a parameter to a function, it's a type problem. All the compiler cares about is that types are compatible and in that case, you must downcast an int to a byte.
Please correct me if required !