为什么十六进制在Java中不区分大小写?

时间:2017-01-06 06:31:13

标签: java hex case-sensitive case-insensitive

如果Java是区分大小写的语言,那么为什么十六进制值不是 区分大小写?

int x = 0x21af3;
int y = 0X21AF3;

System.out.println(x==y);

它返回true。谁能解释为什么十六进制不区分大小写?

1 个答案:

答案 0 :(得分:6)

因为Java语言规范说它不区分大小写。

3.10.1. Integer Literals下:

  

十六进制数字由前导ASCII字符0x或0X后跟一个或多个散布有下划线的ASCII十六进制数字组成,并且可以表示正整数,零或负整数。

     

值为10到15的十六进制数字分别由ASCII字母a到f或A到F表示; 用作十六进制数字的每个字母可以是大写或小写