0
class LetsComp {
public static void main(String[] args) {
int a = 10, b = 0010;
System.out.println(a == b); // this gives false, even if both values in actual are same
}
}
class LetsComp {
public static void main(String[] args) {
int a = 10, b = 0010;
System.out.println(a == b); // this gives false, even if both values in actual are same
}
}
在java 10
和0010
是不一样的。
0010
的八进制等于8
(十进制),而10
已经是十进制格式。
从JLS:
一种八进制数字由一个ASCII数字0,随后的一个或多个的ASCII数字0到7穿插下划线,并且可以代表正,零或负整数。
这是因为它们不一样。 'a'是10,'b'是8. – RealSkeptic
从0开始的Java数字文字意味着它们是八进制的,也就是说你不能使用08或09.如果你要写的是以0x开头的文字(例如0x010),它们应该是16进制。 – Thomas