哪些编程语言会阻止空指针异常?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了哪些编程语言会阻止空指针异常?相关的知识,希望对你有一定的参考价值。
我知道你不能在Haskell中获得空指针异常,但我很好奇其他语言有什么这个功能。例如,一位同事询问是否有任何解释性语言不允许空值,我不知道答案。我所知道的唯一一种避免这种billion dollar mistake的语言是Haskell。
答案
在Objective-C中,您可以将消息传递给实际为nil
的对象,并且它们自己静默地返回nil
。
但是,当您执行类似C的指针解除引用时(即使用*
或.
运算符时),您仍然可能面临空指针异常的风险。
另一答案
Kotlin是一种静态类型的编程语言,可以在Java虚拟机上运行,也可以编译为javascript源代码或使用LLVM编译器基础结构。
Kotlin通过区分可空和非可空类型来避免空指针异常。所有可空变量必须用“?”声明postfix后的类型名称。可开发变量的操作需要开发人员特别小心:必须在使用该值之前执行null-check。
要在可变类型的变量上调用方法,您必须使用“?”运算符,如果变量不为null(并使其返回类型为可空),则仅调用该方法,或者“!!” operator,断言变量当前不为null。
请注意,如果使用“!!”,仍然可以在Kotlin上获取空指针异常null对象上的操作符或与Java交互时的操作符。
以上是关于哪些编程语言会阻止空指针异常?的主要内容,如果未能解决你的问题,请参考以下文章