What is the benefits of using Java Field<String> vs String except for the cloneable possibility?
We have a system that seems to use Field<String> here and there for no obvious reasons (into which I also put "we have done like that before").
This Field<String> is a field (concept) that can hold a String type value, while a String is just a String.
To understand the why, you'll have to look at the code (the oldest parts of the code base, where this class has been used). Maybe, they wanted to handle database fields via a common interface or base class. I wouldn't look for technical benefits (cloneing, performance, ...), there should be a design decision (at least, I hope, there is one).
Once you found the real reason, you can start to fighting all abuses of the concept (aka - "we always did it that way")
Fielddo you mean? Specify the fully qualified path. Or is it a custom one?Fielddirectly or do you have toField<Field<String>>... ouch, recursing into deep space ;)