Рассмотрим такой метод:Должен ли я кэшировать System.getProperty ("line.separator")?
@Override
public String toString()
{
final StringBuilder sb = new StringBuilder();
for (final Room room : map)
{
sb.append(room.toString());
sb.append(System.getProperty("line.separator")); // THIS IS IMPORTANT
}
return sb.toString();
}
System.getProperty("line.separator")
можно назвать много раз.
Следует ли кэшировать это значение с помощью public final static String lineSeperator = System.getProperty("line.separator")
, а затем использовать только lineSeperator
?
Или System.getProperty("line.separator")
так же быстро, как использование статического поля?
Я думаю, что System.getProperty должен искать указанный ключ каждый раз, когда вы его вызываете. Я не знаю, делает ли компилятор оптимизацию. Давайте посмотрим, что предлагают люди. – Fedy2
Используете ли вы Java 7 или более старую версию? – chrylis
@chrylis Я использую 6, я думаю начать с 7 (до сих пор я не вижу серьезных причин для обновления ...). Есть ли разница между 6 и 7 с этим 'getProperty()'? –