Hola.
A mi me recuerda al comportalmiento que tiene la clase
std::string en
C++ o
AnsiString en
C++ Builder. La misma sensación me dá la incorporación de los tipos genéricos, que me evocan a
template de
C++.
Aunque no conozco
Java es muy probable que en él también sea así, ya que su sintáxis deriva de
C/C++.
Como dice Alberto... Cambios a los que hay que irse adaptando
Saludos