差異處
這裏顯示兩個版本的差異處。
Both sides previous revision 前次修改 下次修改 | 前次修改 | ||
java:effective_java:methods:return_optionals_judiciously [2021/07/05 09:25] tony [Rule#6: Avoid using Optional in fields, method parameters, and collections.] |
java:effective_java:methods:return_optionals_judiciously [2023/06/25 09:48] (目前版本) |
||
---|---|---|---|
行 104: | 行 104: | ||
</code> | </code> | ||
在Java 8的情況下,我提供以下主要的trade-off比較給大家參考: | 在Java 8的情況下,我提供以下主要的trade-off比較給大家參考: | ||
- | * 允許Optional於欄位讓語意清楚: 效能較差、有序列化需求要特別套其它library。 | + | * 允許Optional於欄位讓語意清楚: 效能較差、維護成本較高(有序列化需求要特別套其它library)。 |
* 允許null於欄位並僅在回傳值使用Optional: 僅有語意問題,null控制好就無大礙。 | * 允許null於欄位並僅在回傳值使用Optional: 僅有語意問題,null控制好就無大礙。 | ||
==== Rule#7: Avoid using identity-sensitive operations on Optionals. For example don’t use reference equality == with Optionals. ==== | ==== Rule#7: Avoid using identity-sensitive operations on Optionals. For example don’t use reference equality == with Optionals. ==== |