包装类相关内容

本文详细解析了Java中包装类与基本类型的主要区别,包括对象创建、初始值、内存存储方式及在集合中的应用。同时介绍了自动装箱、拆箱的过程,以及包装类提供的各种实用方法,如字符串操作和类型转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

包装类和基本类型的区别:

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 方法返回值
		
	}

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值