Null Placeholders in JDK 1.5
Null placeholders come in handy when you want to support null values but a
Map
implementation you depend on doesn't. An enum placeholder maintains object identity across object serialization for free:enum Null { VALUE } /** * Replaces null with placeholder. */ Object replaceNull(Object value) { return value == null ? Null.VALUE : value; } /** * Resolves placeholder as null. */ Object resolveNull(Object value) { return value == Null.VALUE ? null : value; }Things can still get a little hairy when you mix null placeholders with generic types. Your placeholder can implement the same type as the value, or you can resort to casting hacks.
0 Comments:
Post a Comment
<< Home