差異處
這裏顯示兩個版本的差異處。
Both sides previous revision 前次修改 下次修改 | 前次修改 下次修改 Both sides next revision | ||
java:effective_java:methods:return_optionals_judiciously [2021/07/05 08:47] tony [Rule#6: Avoid using Optional in fields, method parameters, and collections.] |
java:effective_java:methods:return_optionals_judiciously [2021/07/05 08:51] tony [Rule#6: Avoid using Optional in fields, method parameters, and collections.] |
||
---|---|---|---|
行 78: | 行 78: | ||
\\ | \\ | ||
支持者的論點,主要有兩點: | 支持者的論點,主要有兩點: | ||
- | * 宣告於欄位代表著非必要欄位,語意表達比使用null加註解清楚,更何況大家都不愛寫註解。[[https://nipafx.dev/stephen-colebourne-java-optional-strict-approach/|link]] | + | * 宣告於欄位代表著非必要欄位,語意表達比使用null加註解清楚,更何況大家都不愛寫註解。此外,這個Optional支持者反對null,不偏好JodaTime作者的方法。[[https://nipafx.dev/stephen-colebourne-java-optional-strict-approach/|link]] |
* Effective Java Item 55有提及,適用於物件有許多非必要欄位的情況,像是部分更新的UseCaseInput model。如果按照Stuart Marks的建議使用Null Object Pattern,那將會因此建立許多Sub Classes,非常不方便。 | * Effective Java Item 55有提及,適用於物件有許多非必要欄位的情況,像是部分更新的UseCaseInput model。如果按照Stuart Marks的建議使用Null Object Pattern,那將會因此建立許多Sub Classes,非常不方便。 | ||
* 在使用Lombok的情況下,有人會想將Optional宣告為field;但被Lombok開發人員打槍,因為他愛null。[[https://stackoverflow.com/questions/31670785/optional-in-lombok|link]] | * 在使用Lombok的情況下,有人會想將Optional宣告為field;但被Lombok開發人員打槍,因為他愛null。[[https://stackoverflow.com/questions/31670785/optional-in-lombok|link]] |