Mi sto preparando per l'esame OCA SE 7, e alcune di queste domande sono davvero (!) Ingannevoli.Conteggio delle stringhe nella piscina con println
In uno dei libri Im utilizzando Ho trovato un errore credo, quindi vorrei confermare quanto segue si prega di ...
public static void main(String... args) {
String autumn = new String("autumn"); // line one
System.out.println("autumn" == "summer"); // line two
}
Dopo il metodo println
esegue, quanti String
oggetti ci sono in la piscina?
E 'la mia comprensione che: - linea uno non aggiunge la stringa alla piscina - linea due crea "l'autunno" e "estate" e li aggiunge al pool Quindi la risposta corretta nel libro è 2 .
Tuttavia, penso anche ... poiché Im supposto per essere paranoica con le domande d'esame ... che viene creata anche la stringa "false" e aggiunto al pool ... Quindi penso che dovrebbe essere il 3 risposta corretta ... o qualche altra magia nera come ... "vero" e "falso" sono già inseriti nel pool dalla JVM per impostazione predefinita o qualcosa del genere? ...
Qualcuno può confermare ?
Edit: dopo alcune ricerche trovo che non era giusto da parte mia parlare di un 'errore' nel libro; come suggerimento generale: le domande d'esame sono solitamente formulate in termini di "codice seguente"; quindi sono chiaramente interessati al semplice semplice calcolo di ciò che il codice stesso sta facendo localmente. Pertanto, l'ambito non consente l'ispezione dell'implementazione println(boolean b)
o delle ottimizzazioni del compilatore. Giusto abbastanza :)
Questo è stato il mio punto di sotto nei commenti ... –