基本类型包装类

一:概述
1:将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据。
2:常用的操作之一:用于基本数据类型与字符串之间的转换。
3:基本类型和包装类的对应
Byte,Short,Integer,Long,Float,Double
Character,Boolean
二:Integer
1: Integer 类在对象中包装了一个基本类型 int 的值。Integer 类型的对象包 含一个 int 类型的字段。此外,该类提供了多个方法,能在 int 类型和 String 类型之间互相转换,还提供了处理 int 类型时非常有用的其他一些常量和方法。
2:构造方法摘要
Integer(int value)
构造一个新分配的 Integer 对象,它表示指定的 int 值。
Integer(String s)
构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。 (注意:这个字符串必须是数字组成的)

3:成员方法

public int intValue()//String – int
public static int parseInt(String s)//String — int 主要是这个方法
public static String toString(int i)
public static Integer valueOf(int i)
public static Integer valueOf(String s)

案例1:
int类型和String类型的相互转换
int – String
String – int(都只能是数字字符串转换到int类型)

//将int类型值转换为String类型的方法,推荐使用String.valueOf(int),是String类中的静态方法,可以转换任意类型的值
//将String转换为int类型
public class IntegerDemo {
public static void main(String[] args) {
	//int -- String
	//方式一
	int number = 666;
	String s1 = "" + number;
	System.out.println("s1:" + s1);
	
	//方式二
	String s2 = String.valueOf(number);
	System.out.println("s2:" + s2);
	
	//方式三
	//int -- Integer -- String
	Integer i = new Integer(number);
	String s3 = i.toString();
	System.out.println("s3:" + s3);
	
	//方式四
	String s4 = Integer.toString(number);
	System.out.println("s4:" + s4);
	
	
	//String -- int 
	
	String s = "100";
	//方式一
	//String --Integer -- int
	Integer ii = new Integer(s);
	//public int intvalue();
	int x = ii.intValue();
	System.out.println("x:" + x);
	
	//方式二,Integer静态方法
	//public static int parseInt(String s);
	int y = Integer.parseInt(s);
	System.out.println("y:" + y);
	

}
}


案例2:自动装箱拆箱功能

/*JDK5的新特性,自动装箱拆箱功能
 * 自动装箱:把基本类型转换为包装类类型
 * 自动拆箱:把包装类类型转换为基本类型
 * 注意:Integer ii = null;是错误的,会造成空指针异常
 * */
public class IntegerDemo1 {
public static void main(String[] args) {
	//Integer i = new Integer(100);
	
	Integer ii = 100;
	
	ii += 100;
	
	System.out.println("ii:" + ii);
	/*通过反编译后的代码
	 * Integer ii = Integer.valueOf(100);//自动装箱
	 * ii = Integer.valueOf(ii.intValue()) + 100);//自动拆箱,再自动装箱
	 * System.out.println(new StringBuild("ii:")).append(ii).toString());
	 * 
	*/
	//Integer iii = null;//java.lang.NullPointerException空指针异常
	//iii += 100;
	
	//System.out.println("ii:" + iii);
}
}

案例3:面试题,针对Integer直接赋值的深度分析

/*
 * 看程序写结果:
 * 
 * 注意:Integer的数据直接赋值,如果在-128——127之间,会直接从缓冲区里获取数据,如果不是,则创建新Integer对象
*/
//面试题
public class IntegerDemo2 {
	public static void main(String[] args) {
		Integer i1 = new Integer(127);
		Integer i2 = new Integer(127);
		System.out.println(i1 == i2);
		System.out.println(i1.equals(i2));
		System.out.println("------------");
		
		
		Integer i3 = new Integer(128);
		Integer i4 = new Integer(128);
		System.out.println(i3 == i4);
		System.out.println(i3.equals(i4));
		System.out.println("------------");
		
		Integer i5 = 128;
		Integer i6 = 128;
		System.out.println(i5 == i6);
		System.out.println(i5.equals(i6));
		System.out.println("------------");
		
		Integer i7 = 127;
		//Integer i7 = Integer.valueOf(127);自动装箱
		/* public static Integer valueOf(int i) {
        		assert IntegerCache.high >= 127;
        		if (i >= IntegerCache.low && i <= IntegerCache.high)
            		return IntegerCache.cache[i + (-IntegerCache.low)];
        		return new Integer(i);
    }
		如果是Integer直接赋值, 通过查看源码,针对-128——127的之间的数据,做一个数据缓冲池,如果数据是该范围的内的,每次并不创建新的空间
		*/
		Integer i8 = 127;
		System.out.println(i7 == i8);
		System.out.println(i7.equals(i8));
		System.out.println("------------");
	}
}

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值