Int与Integer(Java复习一)

最近一直在复习java,写一下其中自己的疑惑点。第一个讲Int和Integer。

首先,应该明确的式Int是数据类型,Integer是封装Int的一个类。

八大数据类型,java都有封装。boolean->Boolean;char->Character;byte->Byte;short->Short;int->Integer;long->Long;float->Float;double->Double;

后者就成了类。

区别一:

在比较两个数大小的时候两者就体现出了区别:

127下,数值均相等:

		int a=100;
		int b=100;
		System.out.println("a=100,b-100,a.b均为int类型");
		if(a==b){
			System.out.println("a==b");
		}else{
			System.out.println("a!=b");
		}
		Integer c=100;
		Integer d=100;
		System.out.println("c=100,d=100,c.d均为Integer类");
		if(c==d){
			System.out.println("c==d");
		}else{
			System.out.println("c!=d");
		}
		if(c.equals(d)){
			System.out.println("c.equals(d)");
		}else{
			System.out.println("!c.equals(d)");
		}
		System.out.println("a=100,d=100,a为int,d为Integer");
		if(a==d){
			System.out.println("a==d");
		}else{
			System.out.println("a!=d");
		}
		if(d.equals(a)){
			System.out.println("d.equals(a)");
		}else{
			System.out.println("!d.equals(a)");
		}

运行结果:

127以上数值:

		a=200;
		b=200;
		System.out.println("a=200,b=200,a.b均为int类型");
		if(a==b){
			System.out.println("a==b");
		}else{
			System.out.println("a!=b");
		}

		System.out.println("c=200,d=200,c.d均为Integer类");
		c=200;
		d=200;
		if(c==d){
			System.out.println("c==d");
		}else{
			System.out.println("c!=d");
		}
		if(c.equals(d)){
			System.out.println("c.equals(d)");
		}else{
			System.out.println("!c.equals(d)");
		}

		System.out.println("a=200,d=200,a为int,d为Integer");
		a=200;
		d=200;
		if(a==d){
			System.out.println("a==d");
		}else{
			System.out.println("a!=d");
		}
		if(d.equals(a)){
			System.out.println("d.equals(a)");
		}else{
			System.out.println("!d.equals(a)");
		}

	}

运行结果:

区别二:

初始值不一样,int类型初始化值为0;Integer初始化值为null

		int[] a1=new int[5];
		for(int i=0;i<5;i++){
			System.out.println(a1[i]);
		}

		Integer[] b1=new Integer[5];
		for(int i=0;i<5;i++){
			System.out.println(b1[i]);
		}

运行结果:

区别三:

int可直接转char类型但是Integer不行需要转成int型:

		int[] a2={85,89,90,97,126};
		for(int i=0;i<5;i++){
			System.out.println((char)a2[i]);
		}

		Integer[] b2={85,89,90,97,126};
		for(int i=0;i<5;i++){
			System.out.println((char)(b2[i].intValue()));
		}

	}

运行结果:

区别四:

这也就看出了类型之间的转化:

int->Integer

Integer a=new Integer(33);

String->Integer

Integer a=Integer.valueOf(s);

String -> int

int a=Integer.parseInt(s);

Integer a=Integer.valueOf(s).intVlaue();

int->String

String s=String.valueOf(a);

String s=Integer.toString(a);

String s=""+a;

区别五:

在List<>中,需要的是类,需要定义为List<Integer>而不是List<int>

基本总结到这,以后在添加。谢谢!~~

Int与Integer(Java复习一)

时间: 2024-10-11 01:21:51

Int与Integer(Java复习一)的相关文章

java里的 int vs Integer

int vs Integer 基本类型int的默认值为0;对应的封装类型Integer的默认值为null Integer对象会占用更多的内存.Integer是一个对象,需要存储对象的元数据.但是int是一个原始类型的数据,所以占用的空间更少 自动装箱:将基本数据类型转换成相应的包装类类型 自动拆箱:将包装类类型转换成对应的基本数据类型 // 自动装箱 Integer integer =100; // 自动拆箱 int i = interger; **IntegerCache**整型对象在内部实现

java 中int与integer的区别

int与integer的区别从大的方面来说就是基本数据类型与其包装类的区别: int 是基本类型,直接存数值,而integer是对象,用一个引用指向这个对象 1.Java 中的数据类型分为基本数据类型和复杂数据类型 int 是前者而integer 是后者(也就是一个类):因此在类进行初始化时int类的变量初始为0.而Integer的变量则初始化为null. 2.初始化时: int i =1:Integer i= new Integer(1);(要把integer 当做一个类看):但由于有了自动装

Java进阶(三十五)java int与integer的区别

Java进阶(三十五)java int与integer的区别 前言 int与integer的区别从大的方面来说就是基本数据类型与其包装类的区别: int 是基本类型,直接存数值,而integer是对象,用一个引用指向这个对象. 1.Java 中的数据类型分为基本数据类型和复杂数据类型 int 是前者而integer 是后者(也就是一个类):因此在类进行初始化时int类的变量初始为0.而Integer的变量则初始化为null. 2.初始化时: int i =1; Integer i= new In

[转]java int与integer的区别

转自:http://www.cnblogs.com/shenliang123/archive/2011/10/27/2226903.html int与integer的区别从大的方面来说就是基本数据类型与其包装类的区别: int 是基本类型,直接存数值,而integer是对象,用一个引用指向这个对象 1.Java 中的数据类型分为基本数据类型和复杂数据类型 int 是前者而integer 是后者(也就是一个类):因此在类进行初始化时int类的变量初始为0.而Integer的变量则初始化为null.

java int与integer的区别

java int与integer的区别 int与integer的区别从大的方面来说就是基本数据类型与其包装类的区别: int 是基本类型,直接存数值,而integer是对象,用一个引用指向这个对象 1.Java 中的数据类型分为基本数据类型和复杂数据类型 int 是前者而integer 是后者(也就是一个类):因此在类进行初始化时int类的变量初始为0.而Integer的变量则初始化为null. 2.初始化时: int i =1:Integer i= new Integer(1);(要把inte

java中int 和 Integer的区别

要想搞清楚int和integer的区别,需要先搞清楚什么叫包装类. 虽然 Java 语言是典型的面向对象编程语言,但其中的 8 种基本数据类型并不支持面向对象的编程机制,基本类型的数据不具备“对象”的特性--不携带属性.没有方法可调用.沿用它们只是为了迎合人类根深蒂固的习惯,并的确能简单.有效地进行常规数据处理.这种借助于非面向对象技术的做法有时也会带来不便,比如引用类型数据均继承了Object 类的特性,要转换为 String 类型时只要简单调用 Object 类中定义的 toString()

java int和Integer的区别

今天偶然和同学讨论到int和Integer的区别是,发现自己对这个问题了解的并不是很清楚,而且有些概念还是错的,所以在这对int和Integer的区别做一个总结. int与integer的区别从大的方面来说就是基本数据类型与其包装类的区别: int 是基本类型,直接存数值,而integer是对象,用一个引用指向这个对象 1.Java 中的数据类型分为基本数据类型和复杂数据类型 int 是基本数据类型 而integer 是复杂数据类型(也就是一个类):因此在类进行初始化时int类的变量初始为0.而

java面试题之int和Integer的区别

int和Integer的区别 1.Integer是int的包装类,int则是java的一种基本数据类型 2.Integer变量必须实例化后才能使用,而int变量不需要 3.Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象:而int则是直接存储数据值 4.Integer的默认值是null,int的默认值是0 延伸: 关于Integer和int的比较 1.由于Integer变量实际上是对一个Integer对象的引用,所以两个通过new生成的Integer变

Java 中的 int 与 Integer 用于 List&lt;Integer&gt; 时,以及通过打印变量检测程序运行和函数调用次数计数

总结一下最近做的东西中遇到的问题 1. Java 中的 int 与 Integer 用于 List<Integer>  时 两者之间的关系都是很清楚的,int 是基本数据类型,存储的是值,而 Integer 是引用数据类型,存储的是指向数值的地址. Integer 是在类层面上对 int 的封装.然后 Java 提供了自动装包拆包机制,使得两者之间可以转换.这里主要是测试了下它们用于 List 时候的疑惑. /* * To change this template, choose Tools