FAQ

Java

JSP

Servlet


Advertisement



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.


Printer-friendly version Printer-friendly version | Send this 
article to a friend Mail this to a friend

Previous Next vertical dots separating previous/next from contents/index/pdf Contents

  |   |