una sveltina solo per ottenere la pace della mente:
Considerando la seguenteIs String.length() richiamato per una stringa finale?
final String str = "This is the end";
Is str.length()
valutati in fase di esecuzione o è hardcoded come 15 nel bytecode?
Il compilatore 'javac' è improbabile che lo ottimizzi, tuttavia il JIT è molto probabile che se si esegue il codice abbastanza per riscaldarlo. –
Perché preoccuparsi? Questo è probabilmente dipendente dall'implementazione di JVM, ma probabilmente sarà veloce sotto e JVM. Se questo risulta essere un collo di bottiglia nelle prestazioni (improbabile) un profiler lo mostrerà. –
Le stringhe sono immutabili in Java. Non importa se fai la variabile 'finale' o no. – Jesper