Loc*_*han 4 java performance boxing coding-style
使用Integer i = NumberUtils.INTEGER_ONE而不是Integer i = 1?我不知道自动拳击背后会发生什么.
谢谢
基本上它将被编译成:
Integer i = Integer.valueOf(NumberUtils.INTEGER_ONE);
Run Code Online (Sandbox Code Playgroud)
假设INTEGER_ONE被声明为int.
在执行时,假设INTEGER_ONE的值为1,实际上每次都会返回对同一对象的引用,由Java语言规范保证,因为它在-128到127的范围内.超出该范围的值可以返回对该范围的引用.相同的对象,但不必.