Does the implicit narrowing conversion work with the method return statement?
Yes, the implicit narrowing conversion work with the method return statement. For example,
class Program {
byte method_1() {
return 126;
}
byte method_2() {
final int m = 127;
return m;
}
byte method_3() {
final int m=128;
return m; //compile time error because m is not in the range value (-128 to 127) of byte
}
}
14.17 The return Statement in JLS 3.0:
A return statement with an Expression must be contained in a method declaration that is declared to return a value (8.4) or a compile-time error occurs. The Expression must denote a variable or value of some type T, or a compile-time error occurs. The type T must be assignable (5.2) to the declared result type of the method, or a compile-time error occurs.
"The type T must be assignable (5.2) to the declared result type of the method, or a compile-time error occurs" indicates that the implicit narrowing of integer constants is allowed in the method return context.
Most Recent java Faqs
- How to uncompress a file in the gzip format?
- How to make a gzip file in Java?
- How to use Java String.split method to split a string by dot?
- How to validate URL in Java?
- How to schedule a job in Java?
- How to return the content in the correct encoding from a servlet?
- What is the difference between JDK and JRE?
Most Viewed java Faqs
- How to read input from console (keyboard) in Java?
- What are class variables in Java?
- What are local variables in Java?
- How to Retrieve Multiple Result Sets from a Stored Procedure in JDBC?
- How to Use Updatable ResultSet in JDBC?
- How to Use JDBC Java to Create Table?
- Why final variable in Enhanced for Loop does not act final?