This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
In java integer literals are type int and floating point literals are type double. Apparently, all the compiler knows is that you're passing an int to a method that requires a byte and that this "could" be a problem. The same thing happens with a double being passed to a method that accepts floats above.
Method invocation conversions specifically do not include the implicit narrowing of integer constants which is part of assignment conversion (�5.2). The designers of the Java programming language felt that including these implicit narrowing conversions would add additional complexity to the overloaded method matching resolution process (�15.12.2).