- 主题:null 是个大错误
不想要 Null 的话,可以用 kotlin 等语言,确实能减少很多错误。比方说,如果某个函数的参数定义为某个类型时,在函数内部可以放心的认为这个参数不可能为 Null ,编译器会强制要求函数的调用方不得传 Null 参数。
不过即便是在 kotlin ,也是有 Nullable 类型的,Nullable 的使用场景其实很多的,不可能完全去掉这个。
--
FROM 124.160.68.*
我问的是,为什么具体类型**一定**不能nullable
因为有些类型不需要nullable,就不允许其他所有类型nullable吗?
【 在 tgfbeta (右旋肉碱) 的大作中提到: 】
: 指针类型可以nullable,类似int,float这样的类型,本身没给null留位置
: 如果你硬挤进去一个null,就会有原本可以表达的值被挤掉
--
修改:roy FROM 114.250.243.*
FROM 114.250.243.*
在编译器里面增加个强制检查,能增加多少工作量呢?
总比加语法糖意义要大的多吧
【 在 ilovecpp (cpp) 的大作中提到: 】
: 支持annotation,不等于编译器自动就可以在类型检查中考虑nullable,也不等于自动增加了null关键字。
--
修改:roy FROM 114.250.243.*
FROM 114.250.243.*
Nullable<A> 和@nullable A
对于写代码来说能有多大区别
【 在 canper (洗衣粉) 的大作中提到: 】
: 不是说了吗,要搞的越麻烦越好
--
FROM 114.250.243.*
楼主的意思是高级语言不需要考虑这么一丁点的内存占用
【 在 olddognewwit 的大作中提到: 】
:
: 用null可以减少内存占用,举例一个外层对象套了n个不同的子对象,如果支持null则子对象不存在时可用null,否则必须为子对象每个字段赋空值。
: --
发自「今日水木 on iPhone 6s Plus」
--
FROM 223.104.3.*
指针可以nullable,因为空指针没有良好定义
这个要看你描述的语言是值类型占主流还是引用类型占主流吧
我的理解
【 在 roy (天上掉大饼:学思行言) 的大作中提到: 】
: 我问的是,为什么具体类型**一定**不能nullable
: 因为有些类型不需要nullable,就不允许其他所有类型nullable吗?
--
FROM 117.13.123.*
字符串是对象,对象的空和字符串的空不一样
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 编程语言最基本的类型,整型、浮点都是没有 null 值的。一般用零来表示“无”这个意思。
:
: 诚然,很多语言比如 python, java 的字符串和数字类型可以赋值为 null. 其实不对,字符串为空的时候应该用零长度字符串,而不是空指针。在 python, java 语言里面,把数字和字符串变量赋值为 null 都是不合理的代码。
:
--
FROM 117.136.38.*
你定义一个dto接受页面传参数,怎么区分没有传姓名和姓名传了空格?
【 在 xiaoju (可爱的龙猫) 的大作中提到: 】
: Null是表示”不存在“,未赋值而使用在任何时候都不对,应在编译层面被禁止而不是额外写if。Nullable类型代表了缺省值为”不存在“。
:
: 【 在 byethu 的大作中提到: 】
: : Null用来表示“未赋值”这种状态不正合适吗?比如这样使用:
--
FROM 117.136.38.*
现实社会里匿名和没有名字显然不是一回事,你认为怎么合适就怎么做。
【 在 nikezhang 的大作中提到: 】
: 你定义一个dto接受页面传参数,怎么区分没有传姓名和姓名传了空格?
--
FROM 27.91.71.*
java里的nullable注解还不错,相当于做了些约定。不过还是尽量避免nullable的情况,可以用空列表,空对象来取代
--
FROM 61.48.44.*