包装类和基本类型的区别:
1.包装类可以创建对象,基本类型不能创建对象
2.包装类的初始值为null,基本类型的初始值为0或false
3.包装类是将对象放在堆内存中,通过引用对象来调用,基本类型直接将值放在栈中
4.包装类在使用集合会使用,基本类型直接赋值使用就行
自动装箱和自动拆箱:
package neuedu10;
public class ZiDongZhuangChaiXiang {
public static void main(String[] args) {
// TODO Auto-generated method stub
Integer i=new Integer(1);//没有自动装拆箱
Integer j=3;//java编译器自动生成Integer对象,自动装箱
int g=new Integer(10).intValue();//使用intValue手动拆箱
int f=new Integer(9);//自动拆箱
//int--->Integer 装箱
//Integer--->int 拆箱
}
}
包装类中的一些方法:
package neuedu10;
public class StringMethod {
public static void main(String[] args) {
// TODO Auto-generated method stub
String s1="hello";
String s2="Hello";
System.out.println(s1.equals(s2));
System.out.println(s1.equalsIgnoreCase(s2));//比较两个字符串忽略大小写
System.out.println(s1.toUpperCase());//字符串字母全变成大写
System.out.println(s2.toLowerCase());//字符串字母全变成小写
char i=s1.charAt(4);
System.out.println(i);
System.out.println(s1.substring(2));//获取子字符串
System.out.println(s1.substring(1,3));//算一不算三
}
}
包装类与基本类型的转换:
package neuedu10;
public class StringTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
String s="123456";//一个字符串能转换成int那么字符串一定符合int的规则,全时数字
//string--->int
int i=Integer.parseInt(s);//parseInt是静态方法
System.out.println(i);
//int--->Integer
Integer it=new Integer(i);
//Integer--->String
it.toString();
String s1="1";
short x=Short.parseShort(s1);
Short sh=new Short(x);
sh.toString();
System.out.println(x);
System.out.println(sh);
//String--->char
char []cs=s1.toCharArray();
System.out.println(cs[0]);
}
}
equals的应用:
package neuedu10;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Student s1=new Student();
Student s2=new Student();
System.out.println(s1==s2);//比较地址
s1.setNo(1);
s1.setAge(18);
s1.setName("李四");
s2.setNo(1);
s2.setAge(18);
s2.setName("李四");//s1,s2是同一个人
System.out.println(s1.equals(s2));
//equals方法默认是比较地址
//s1 s2在内存里确实是两个对象,但现实世界中s1和s2表示同一个人,继承来的equals方法不满足现实需求,
//需要在student里重写equals方法,现实高于代码。
System.out.println(s1.hashCode());
System.out.println(s2.hashCode());
System.out.println(s1);//直接打印引用变量,打印的是toString 方法返回值
}
}