Problems with long type
It seems that constants are treated like signed integers in Java, while there is no mention of this in the language specification:
class test{
publicstaticvoid main(String[] args){
long a = 0x7FFFFFFF + 0x80000000;
System.out.println( a );
}
}
The above code compiles but gives wrong result (-1). Variable 'a' is a long, so the result should be 4294967295. Am I missing something?

