When you put a 0 in front of an integer-type literal, it will interpret it as representing an octal number. Since "9" isn't a valid digit for octal numbers, that might be what's going on. Try printing out the (decimal) value of "010L" and see whether is says "8" to confirm.
Note: not sure if Java does this, or if this is purely an artifact of Eclipse. If the latter, printing out 010L would show 10. If the former, you'd see 8. If it's just an artifact of Eclipse, you can confirm by trying 01L, 02L, ..., 07L, which should all work, and 08L and 09L which would fail.