java 中的原始类型与原始封装类型

摘要:
Java提供两种不同的类型:引用类型和原始类型。int一般做为数值参数就够了integer一般做类型转换的时候用的较

Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。比如:Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类,常见的原始与对应的封装类如下:

原始类型 封装类
boolean Boolean
char Character
byte Byte
short Short
int Integer
long Long
float Float
double Double

引用类型和原始类型的区别:

1.两者的初始化方式不同

int i = 5;                       // 原始类型
Integer j = new Integer(10);     // 对象引用  java 1.5以后支持自动装箱所以   Integer j = 10; 也可以

使用原始类型无须调用 new,也无须创建对象。这节省了时间和空间。混合使用原始类型和对象也可能导致与赋值有关的意外结果。

2.原始类型是类,引用类型是对象

原始类型大小比较用"==" , 引用类型大小比较用"equals"

3.引用类型可以被序列化,原始类型不行。

4.引用类型提供的方法可以灵活转换,可以扩展,原始类型不行

5.在集合类中只能使用引用类型,不能使用原始类型

6.原始类型没有null的概念,引用类型有,某些情况下需要辨别某个参数是否被初始化了,如果使用原始类型,那么0的值不知道是初始值还是没有初始化系统自动给的。

7.有些时候必须要用封装类,比如你要用
request.setAttribute(String key ,Object value);这个方法时,第二个参数为Object类型,而你要放的是一个整数的时候,那就只能放Integer不能放int。

总结:

原始类型和封装类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。
int(原始类型) 一般做为数值参数就够了
integer(封装类型) 一般做类型转换的时候用的较

免责声明:文章转载自《java 中的原始类型与原始封装类型》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇高级特性(3)- 网络ZooKeeper学习笔记下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C#装箱和拆箱简介

装箱和拆箱发生在数据类型转换。 先看下装箱和拆箱的概念: 装箱:值类型向引用类型或者值类型转化成它实现的某个接口 拆箱:引用类型向值类型或者接口类型转化成值类型 比如说: int x=5; object o=x; //装箱 y=(int)o; //拆箱 object为引用类型,其他的数据类型int,string,bool等继承于objec...

Java小结

反射 java数据类型分为原始类型和引用类型。对于每种类型的对象java虚拟机会实例化不可变的java.lang.Class对象,它提供了在运行时检查对象属性的方法,这些属性包括它的成员和类型信息。 注:Class是泛型类,可以使用@SuppressWarnings("unchecked")忽略泛型或者使用Class<?>类型,?表示任意类...

【c#基础】泛型

1:减少代码的选项可以是用Object类,也可以使用泛型 但是Object类进行类型传递不是类型安全的。泛型类使用泛型类型保证了类型安全。 泛型类泛型方法泛型接口、结构、委托 泛型优点: 1:性能 装箱和拆箱很容易使用,但性能损失比较大。 泛型的话在编译的时候就会动态生成我们定义他的类型,这样就不用进行装箱和拆箱。 var list=new List<...

java关于传值与传引用

关于java传值还是传引用的问题经常出现在一些烦人的面试题中,主要考察个人对java基础的掌握情况。 首先明确一下:本地方法中,java的参数传递都是传值。但是如果是远程调用方法时,会将对象本身传递过去 Java是本地编程多是传值,这个值包括基本值和引用值,分别对应基本类型和引用类型。基本类型就不说了。 引用类型虽然是传值,但是却表现出传引用的效果。传递...

4. Go语言—值类型和引用类型

一、值类型 1. 定义 ​ 变量直接存储的值,内存通常在栈中分配; var i = 5 -> i-->5 2. 应用 int、float、bool、string、数组、struct 二、引用类型 1. 定义 ​ 变量存储的是一个地址,这个地址存储最终的值。内存通常在堆上分配,当没有任何变量引用这个地址时,该地址对应的数据空间就成为一个垃圾,通...

【原创】《.net本质论》读书笔记三

上一章讲的是Type,这一章讲了实例在内存中的情况。主要内容有两个——分清楚值类型和引用类型;搞清楚GC是怎么回事。这其中当然也介绍了一些有用的函数了。   1、值类型和引用类型 值类型是继承于System.ValueType的类型,它与引用类型一样可以有字段、方法,但是不能被继承,运行时是存储在栈上的。   值类型在CLR中只有三种:基本数据类型,如In...