Что является более эффективным для компилятора и лучше всего проверять, является ли строка пустой?
Кроме того, зависит ли ответ от языка?
Для струн C,
if (s[0] == 0)
будет быстрее, чем
if (strlen(s) == 0)
или
if (strcmp(s, "") == 0)
потому что вы избежите накладных расходов при вызове функции.
В этом случае непосредственная проверка длины выполняется быстрее, поскольку она позволяет избежать затрат на создание новой пустой строки.
@ ДерекПарк: Это не всегда так. "" является строковым литералом, поэтому в Java он почти наверняка уже будет интернирован.
На самом деле, IMO лучший способ определить это метод IsNullOrEmpty () класса string.
http://msdn.microsoft.com/en-us/library/system.string.isnullorempty.
Обновление: я предположил .Net, на других языках это может отличаться.