- Learn Kotlin Programming(Second Edition)
- Stephen Samuel Stefan Bocutiu
- 217字
- 2021-06-24 14:13:29
The null syntax
Tony Hoare, the inventor of the quicksort algorithm, who introduced the concept of the null reference in 1965, called it his billion dollar mistake. Unfortunately, we have to live with null references as they are present in the JVM, but Kotlin introduces some functionality to make it easier to avoid some common mistakes.
Kotlin requires that a variable that can assigned to null be declared with ?:
var str: String? = null
If this is not done, the code will not compile. This next example would result in a compile-time error:
var str: String = null
Kotlin has much more than this to help in the fight against null pointer exceptions, and there is a full discussion of nulls and null safety in Chapter 7, Null Safety, Reflection, and Annotations.
Regarding type checking and casting, if a reference to an instance is declared as some general A type, but we want to test if we have a more specific B type, then Kotlin provides the is operator. This is equivalent to the instanceof operator in Java:
fun isString(any: Any): Boolean { return if (any is String) true else false }
If the target type is invalid (a string was trying to be cast to File), then ClassCastException will be thrown at runtime.
- Java高并發(fā)核心編程(卷2):多線程、鎖、JMM、JUC、高并發(fā)設(shè)計模式
- ASP.NET Core 5.0開發(fā)入門與實戰(zhàn)
- Building a RESTful Web Service with Spring
- Java Web開發(fā)之道
- 從0到1:HTML+CSS快速上手
- Java:Data Science Made Easy
- Mastering C# Concurrency
- Visual Basic程序設(shè)計習(xí)題解答與上機指導(dǎo)
- Web Application Development with MEAN
- 青少年信息學(xué)競賽
- Getting Started with LLVM Core Libraries
- 西門子S7-200 SMART PLC編程從入門到實踐
- Python極簡講義:一本書入門數(shù)據(jù)分析與機器學(xué)習(xí)
- Go語言精進之路:從新手到高手的編程思想、方法和技巧(2)
- Android開發(fā)三劍客:UML、模式與測試