当长变量带有前导零时,我无法理解为什么这样的输出.
public class Test{
public static void main(String[] args) {
long var1=00123l;
long var2=123l;
System.out.println("Variable 1--->"+var1);
System.out.println("Variable 2--->"+var2);
System.out.println(var1==var2);
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
Variable 1--->83
Variable 2--->123
false
Run Code Online (Sandbox Code Playgroud)
当文字的前缀为0时; java将其视为八进制数.当您打印相同的数字时,默认情况下它以基本(10)格式打印.因此00123l印刷为83.