Qual a diferença do isNotNull e o isNotEmpty do JavaFX

Olá. Estou iniciando no JavaFX, e notei esses dois métodos, ambos, aparentemente servem para a mesma finalidade, mas uma vez eu usei o isNotEmpty e meu programa não funcionou como planejado, daí eu mudei para isNotNull e funcionou tudo perfeitamente. Alguém sabe me explicar isso?

Olá Thallysson

Bom, isso acontece porque os conceitos de null e Empty são diferentes.

  • Um objeto é nulo, quando ele foi criado mas não foi inicializado. ele não aponta para nenhum local, não aponta para nada.

  • Um objeto é vazio, quando ele já foi inicializado porém o seu valor é vazio.

1 curtida

E para uma caixa de texto, essa regra também se aplica?

Se aplica ao texto dela.
Um objeto String é considerado empty quando não possui nenhum caractere e null, obviamente, significa que o objeto nem foi inicializado.

E no caso de um bind, qual eu devo usar? O isNotEmpty vai funcionar só na segunda vez?