Null je typu NullObject a operatory porovnavania nikdy nehadzu NullPointerException. Navyse plati, ze null je mensie nez akykolvek iny objekt.

Priamu zmienku v dokumentacii som nenasiel, ale v unit testoch existuje CompareToTest.groovy, kde je ukazka:

        def a = 123
        def b = null

        def result = a <=> b
        assert result > 0

Operator <=> je compareTo().

On 6. 5. 2011 8:59, Ing. Jan Novotný wrote:
Zdravím konferenci,

dokážete mi někdo prosím vysvětlit proč Groovy pro snippet "null < 100" vrací true?
   Ukázka: http://groovyconsole.appspot.com/script/478001

Jsem Groovy lamka, ale tohle mě opravdu překvapilo. V plain java podobná věc hodí samozřejmě chybu. Tuším že bude nějaký problém v Null Groovy objektu - tj. že levá strana porovnání není braná jako číslo ... tohle už chybu (jak bych očekával hodí):

((int)null) < 100;

Honza
--------------------------------------------------------------
Ing. Jan Novotný
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
http://blog.novoj.net
Myšlenky dne otce Fura
--------------------------------------------------------------

Odpovedet emailem