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
--------------------------------------------------------------