字符串,包装类的一些应用

来源:互联网 发布:麻将馆记账软件 编辑:程序博客网 时间:2024/05/21 21:43

String str1 = new String();  ---->  是一个空字符串

String str2 = "";

System.out.println(str1=="");  ---->  false  引用堆中的地址和引用栈中的地址不同

System.out.println(str2=="");  ---->  true   字符串常量池的引用相同

System.out.println(str1.equals(""));  ---->  true

System.out.println(str2.equals(""));  ---->  true


 

包装类的自动拆箱,装箱

Integer i = new Integer(1);
  Long p = new Long(1);
  System.out.println(i==1); ---->  true
  System.out.println(p==1); ---->  true
  int n = 2;
  Long m = 2L;
  System.out.println(n==m); ---->  true 基本类型的自动隐士转换

byte-->short-->int-->long


注意:

有两个属性: int i; Integer m; 省略直接用工具生成的setter,getter方法,并且假设已经创建了该类对象a

a.setI(a.getM());  ---- 这个有可能报空指针异常,因为a.getM()可能为空,而包装类拆箱的时候,自动调用该对象的**Value()方法,从而有可能报空指针异常(如: Integer s = a.getM(); a.setI(s.intValue());)