TypeDescriptor just returns the hashCode of the underlying raw type, but for parameterized types this can lead to different TypeDescriptors having the same hashes:
var listOfString = TypeDescriptor.collection(List.class, TypeDescriptor.valueOf(String.class));
var listOfInteger = TypeDescriptor.collection(List.class, TypeDescriptor.valueOf(Integer.class));
listOfString.hashCode() == listOfInteger.hashCode(); // true
This may impact conversion service caching / lookup due to increased hash collisions for instance.
TypeDescriptor just returns the hashCode of the underlying raw type, but for parameterized types this can lead to different TypeDescriptors having the same hashes:
This may impact conversion service caching / lookup due to increased hash collisions for instance.