One of the arguments is that existing $ in strings would have to be escaped. Every other language supported $ in strings before interpolation appeared. Not Java specific.
Every other language is susceptible to SQL injection style attacks. Not Java specific.