Java的8种基本类型(Byte, Short, Integer, Long, Character, Boolean, Float, Double), 除Float和Double以外, 其它六种都实现了常量池, 但是它们只在大于等于-128并且小于等于127时才使用常量池。
- Integer a = 124;
- Integer b = 124;
- //如上面: a==b 返回 true
- Integer a = 300;
- Integer a = 300;
- //如上面: a==b 返回 false
- **第一种是使用了valueOf(X)方法,并且值在-128到127之间,能使用常量池。
- 但需要注意的是:Integer c = new Integer(124); c==a 将返回false
- 当使用new关键字,一定是新建了一个对象。