Pyr*_*cal 3 java architecture collections null
在大多数情况下,当你可以返回null/empty对象以避免空值时,它很棒,但是像对象一样集合呢?
在Java中,如果在地图中找不到in ,则Map返回.nullkeyget(key)
null在这种情况下,我能想到避免s 的最好方法是返回一个Entry<T>对象,该对象可以是EmptyEntry<T>或包含值T.
当然我们避免使用null,但现在你可以有一个类强制转换异常,如果你不检查它是否EmptyEntry<T>.
有没有更好的办法来避免nullS IN Map的get(K)?
为了论证,让我们说这种语言甚至没有null,所以不要说只是使用nulls.
两种可能的解决方
提供包含(键)功能.如果为不存在的密钥调用get(key),则抛出异常.缺点是:在contains()重复操作之后调用get(); 效率不高.
功能语言在类似情况下使用Maybe.本文介绍如何在Java中实现Maybe.
| 归档时间: |
|
| 查看次数: |
1201 次 |
| 最近记录: |