如何选择编程语言(7)对 null 的处理

如何选择编程语言(7)对 null 的处理
0

本系列的其他文章:
如何选择编程语言(1)执行方式
如何选择编程语言(2)内存管理
如何选择编程语言(3)强类型 VS 弱类型
如何选择编程语言(4)并行/并发模型
如何选择编程语言(5)面向对象
如何选择编程语言(6)函数式编程
如何选择编程语言(8)官方 API
如何选择编程语言(9)第三方库生态

7.1、区分不可为 null 的对象和可为 null(nullable)的对象

Kotlin

7.2、以一个辅助类处理可为 null 对象到不可为 null 对象的转换

Java 1.8 及以上版本用 Optional 类
C# 用 Nullable 类
Rust 用 Optional 枚举类

7.3、没有不可为 null 对象

JavaScript

7.4、不可为 null 对象的优缺点

7.4.1、优点

可以更好地避免空指针可能引起的问题,可以定义更加明确和不易出错的接口(明确某些输入或输出不能为 null)

7.4.2、缺点

有些地方需要将可为 null 变量转换为不可为 null 变量,稍微增加了代码的复杂性