它Integer.valueOf(int)同样适用于布尔,字节,字符,长整数,浮点数和双精度数.
注意:对于布尔值和字节,将缓存所有可能的值.对于Character,将缓存值0到127.对于Short和Long值,缓存-128到127.对于Integer -128到127默认是缓存的,但是使用多个选项可以增加最大值.
这可能导致令人惊讶的行为
System.out.println((Integer) (int) -128 == (Integer) (int) -128);
System.out.println((Integer) (int) -129 == (Integer) (int) -129);
Run Code Online (Sandbox Code Playgroud)
版画
true
false
Run Code Online (Sandbox Code Playgroud)
不确定在Java 7中编译需要-128使用什么来(int) -128进行编译.
是的,它的价值如下:
这是javap的输出:
public static void main(java.lang.String[]);
Code:
Stack=1, Locals=2, Args_size=1
0: iconst_1
1: invokestatic #16; //Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
4: astore_1
5: return
LineNumberTable:
line 5: 0
line 6: 5
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
98 次 |
| 最近记录: |