Verwenden Sie Variablen zum Speichern von Werten oder zum direkten Abrufen von Werten aus den Objekten?

Das Szenario ist, dass ich mindestens zweimal auf einen Wert zugreifen muss. Das heißt Ich verwende Logger, um zu verfolgen, was in der Anwendung geschieht. Ich möchte den Namen des Objekts, an dem diese Funktion arbeitet, protokollieren und später etwas mit demselben Namen tun (d. H. Prüfen, ob es einen String enthält oder in ein Array einfügen).

Speichern des Namens in Variable:

foo(Bar bar){
    String name = bar.getName();
    logger.info("I am working with "+name);
    this.doSomethingWith(name);
}

Oder rufen Sie getName () zweimal auf:

foo(Bar bar){
    logger.info("I am working with "+bar.getName());
    this.doSomethingWith(bar.getName());
}

Ich verstehe, dass ich im ersten Szenario einen neuen String erstellen, ihm einen Wert zuweisen und diesen Wert dann zweimal abrufen werde. Auf diese Weise verwende ich mehr Speicherressourcen, richtig?

Im zweiten Szenario greife ich zweimal auf die Objektleiste und dann zweimal auf ihren Namen zu. Ich nehme an, das ist kein trockener Ansatz. Aber andererseits wiederhole ich mich nicht im Gedächtnis, richtig?

Welcher Ansatz ist besser?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage