Если Вы передаёте значения undefined JavaScript в качестве параметров методам Java, Java конвертирует значения в соответствии с правилами, описанными в следующей таблице:
lava.lang.String
java.lang.Object
Значение конвертируется в экземпляр объекта java.lang.String, значением которого является строка "undefined".
boolean
Значение становится false.
double
float
Значение становится NaN.
byte
char
int
long
short
Значение становится 0.
Конверсия значения undefined возможна только в JavaScript 1.3 и более поздних версиях. Более ранние версии JavaScript не поддерживают значения undefined.
Если значение undefined JavaScript передаётся в качестве параметра Java-методу, который ожидает экземпляр объекта java.lang.String, значение undefined конвертируется в строку. Используйте операцию == для сравнения результата этой конвертации с другими строковыми значениями.