Hola,
Advierto de que voy a meter la pata. Pero, digo yo, si en Java "todo es un objeto", como ocurre en "CSharp", y un "String" es un objeto también, por supuesto, entonces acaso las dos instrucciones sean equivalentes, ignoro si una es preferible a la otra, pero, equivalentes, al fin y al cabo.
En la primera instrucción se crea un objeto del tipo "String" de la manera "tradicional", por decirlo así, mientras que en la segunda instrucción se hace lo mismo, salvo que, Java te lo pondría algo más sencillo, al encargarse él mismo de construir el objeto e iniciarlo por ti. ¿Me equivoco?