@@ -3821,8 +3821,8 @@ public ObjectReader reader(TypeReference<?> type) {
3821
3821
3822
3822
/**
3823
3823
* Convenience method for doing two-step conversion from given value, into
3824
- * instance of given value type, if (but only if!) conversion is needed.
3825
- * If given value is already of requested type, value is returned as is .
3824
+ * instance of given value type, by writing value into temporary buffer
3825
+ * and reading from the buffer into specified target type .
3826
3826
*<p>
3827
3827
* This method is functionally similar to first
3828
3828
* serializing given value into JSON, and then binding JSON data into value
@@ -3831,14 +3831,21 @@ public ObjectReader reader(TypeReference<?> type) {
3831
3831
* However, same converters (serializers, deserializers) will be used as for
3832
3832
* data binding, meaning same object mapper configuration works.
3833
3833
*<p>
3834
- * Note that it is possible that in some cases behavior does differ from
3835
- * full serialize-then-deserialize cycle: in most case differences are
3836
- * unintentional (that is, flaws to fix) and should be reported.
3837
- * It is not guaranteed, however, that the behavior is 100% the same:
3838
- * the goal is just to allow efficient value conversions for structurally
3834
+ * Note that behavior changed slightly between Jackson 2.9 and 2.10 so that
3835
+ * whereas earlier some optimizations were used to avoid write/read cycle
3836
+ * in case input was of target type, from 2.10 onwards full processing is
3837
+ * always performed. See
3838
+ * <a href="https://github.com/FasterXML/jackson-databind/issues/2220">databind#2220</a>
3839
+ * for full details of the change.
3840
+ *<p>
3841
+ * Further note that it is possible that in some cases behavior does differ
3842
+ * from full serialize-then-deserialize cycle: in most case differences are
3843
+ * unintentional (that is, flaws to fix) and should be reported, but
3844
+ * the behavior is not guaranteed to be 100% the same:
3845
+ * the goal is to allow efficient value conversions for structurally
3839
3846
* compatible Objects, according to standard Jackson configuration.
3840
3847
*<p>
3841
- * Further note that functianality is not designed to support "advanced" use
3848
+ * Finally, this functionality is not designed to support "advanced" use
3842
3849
* cases, such as conversion of polymorphic values, or cases where Object Identity
3843
3850
* is used.
3844
3851
*
0 commit comments