- Java 11 and 12:New Features
- Mala Gupta
- 280字
- 2021-07-02 12:27:00
Explicit casting with inferred variables
Imagine that a co-programmer assigned 29 to an inferred local variable (let's say age), assuming that the compiler would infer the type of the variable age as byte:
var age = 29; // inferred type of age is int
However, the compiler would infer the type of the variable age as int, since the default type of an integer literal value is int. To fix the preceding assumption, you can either use the explicit data type or override the compiler's default inference mechanism by using explicit casting, as follows:
byte age = 29; // Option 1 - no type inference
var age = (byte)29; // Option 2 - explicit casting
Similarly, you can use explicit casting with other primitive data types, like char and float:
var letter = (char)97; // inferred type of letter is char var debit = (float)17.9; // inferred type of debit is float
Without the explicit casting in the preceding examples, variables that are assigned integer literal values would be inferred as int, and decimal as double.
The following example shows explicit casting with reference variables:
class Automobile {} class Car extends Automobile { void check() {} } class Test{ public static void main(String[] args) { var obj = (Automobile)new Car(); obj.check(); // Won't compile; type of obj is Automobile } }
- Docker技術入門與實戰(第3版)
- Vue.js快跑:構建觸手可及的高性能Web應用
- INSTANT Sencha Touch
- Hands-On C++ Game Animation Programming
- 編譯系統透視:圖解編譯原理
- Troubleshooting PostgreSQL
- Android群英傳
- uni-app跨平臺開發與應用從入門到實踐
- 小程序從0到1:微信全棧工程師一本通
- ASP.NET Web API Security Essentials
- Oracle 12c從入門到精通(視頻教學超值版)
- HTML5游戲開發實戰
- PHP Microservices
- Java自然語言處理(原書第2版)
- 可視化H5頁面設計與制作:Mugeda標準教程