标签:JAVA 包装 System 128 println 127 类型 Integer out
基本类型不是类,但Java提供了与基本类型对应的包装类。
通过下列网址,可以获得包装类的内容:
Double和Float没有缓存,其他类型都有高频缓存区间。其高频缓存区间的缓存范围是:
Boolean:使用静态final,就会返回静态值
Byte:-128~127
Short:-128~127
Character:0~127
Long:-128~127
Integer:-128~127
public class Demo1 {
public static void main(String[] args) {
Integer number1 = 127;
Integer number2 = 127;
System.out.println("number1==number2判断的值为" + (number1 == number2));
Integer number3 = 128;
Integer number4 = 128;
System.out.println("number3==number4判断的值为" + (number3 == number4));
}
}
结果为true和false
这是因为在通过valueOf方法创建Integer对象的时候,如果数值在[-128,127]之间,便返回指向IntegerCache.cache中已经存在的对象的引用;否则创建一个新的Integer对象。
public class Demo2 {
public static void main(String[] args) {
Boolean bool1 = false;
Boolean bool2 = false;
Boolean bool3 = true;
Boolean bool4 = true;
System.out.println("bool1==bool2判断的值为"+(bool1==bool1));
System.out.println("bool3==bool4判断的值为"+(bool3==bool4));
}
}
结果为true和true
它们使用静态 final 定义,就会返回静态值,所以答案2中返回都是true。
public class Demo3 {
public static void main(String[] args) {
Double d1 = 20.0;
Double d2 = 20.0;
System.out.println("d1==d2判断的值为" + (d1 == d2));
Double d3 = 30.0;
Double d4 = 30.0;
System.out.println("d3==d4判断的值为" + (d3 == d4));
}
}
结果为false和false。
它会返回一个新的Double对象。
标签:JAVA,包装,System,128,println,127,类型,Integer,out 来源: https://blog.csdn.net/m0_51719566/article/details/120404266
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。