Eventuali duplicati:
What is the purpose of the expression “new String(…)” in Java?Quando dovrei usare String s = new String ("Hello World")?
So che String s = new String("Hello World")
deve essere evitato in quanto creerà spazio per "Ciao Mondo", che è inutile nella maggior parte dei casi.
questione connessa spiegando perché String s = new String("Hello World")
dovrebbe essere evitato è qui:
What is the difference between "text" and new String("text")?
Ma quando abbiamo bisogno di usare String s = new String("Hello World")
, invece di String s = "Hello World"
? Questa è una domanda di intervista che ho vissuto.
Se nella maggior parte dei casi è consigliabile evitare String s = new String("Hello World")
, perché Java lo consente ancora?
stessa domanda vale per 'nuovo booleano (true)' quando si può fare 'Boolean.TRUE'. – Thilo
Ci sono molti piccoli pezzi di codice che non ti aspetteresti che Java * ti impedisca di scrivere. 'int a = 5 + 1 - 1;' è sciocco, ma legale. –
@Damien_The_Unbeliever: Questo particolare esempio è gestito dal compilatore (mentre 'new String (" s ");') non lo è. – Thilo