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

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 (封装类型)  一般做类型转换的时候用的较

时间: 2024-10-22 13:15:20

java 中的原始类型与原始封装类型的相关文章

将Java中的数组进行二次封装成属于我们自己的数组

我们来简略回顾一下Java数组的基础概念: 数组最大的优点是可以快速查询,因为数组直接通过索引查询很快:array[2],所以在随机访问时有一定的优势.其数据结构是简单的线性序列,这使得元素访问非常快速,并且按照索引遍历数组方便 数组最好应用于"索引有语意"的情况 但并非所有有语意的索引都适用于数组,例如索引是身 份 证号这种长度的数字,就无法作为索引使用 而数组也同样可以处理"索引没有语意"的情况 数组的缺点: 根据内容查找元素速度慢 数组的大小一经确定不能改变

Java 中常用的类:包括基本类型的包装类、Date 类、SimpleDateFormat 类、 Calendar 类、 Math 类

JAVA中的包装类 包装类里没有String,它是引用数据类型 基本类型是不能调用方法的,而其包装类具有很多方法 包装类主要提供了两大类方法: 1. 将本类型和其他基本类型进行转换的方法 2. 将字符串和本类型及包装类互相转换的方法 基本类型 对应的包装类 byte Byte short Short int Integer long Long float Float double Double char Character boolean Boolean Integer m=new Intege

Java中的引用类型Scanner类和随机类型Random

Scanner类 我们要学的Scanner类是属于引用数据类型,我们先了解下引用数据类型.   引用数据类型的使用 与定义基本数据类型变量不同,引用数据类型的变量定义及赋值有一个相对固定的步骤或格式. 数据类型 变量名 = new 数据类型(); 每种引用数据类型都有其功能,我们可以调用该类型实例的功能. 变量名.方法名(); Scanner类 Scanner类是引用数据类型的一种,我们可以使用该类来完成用户键盘录入,获取到录入的数据. Scanner使用步骤: //导包: import jav

java中面向对象的三大特性:封装、继承、多态和关键字instanceof

1.封装: 使用private关键字,使得外界不能够直接访问类的属性: 提供setter和getter方法进行设置和获取: 好处:提升程序的安全性,让外界不能够直接进行访问:还可以对设置的属性进行输入限制: public class anli1 {private String name;private String sex;public String getName() { return name;}public void setName(String name) { this.name = n

Java中面向对象的三大特性之封装

封装 封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部份包装.隐藏起来的方法. 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问. 要访问该类的代码和数据,必须通过严格的接口控制. 封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段. 适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性. 封装的优点 1. 良好的封装能够减少耦合. 2. 类内部的结构可以自由修改. 3. 可以对成员变量进行更精确的

java中Object转换成int或String类型方法

转载: http://www.cnblogs.com/1020182600HENG/p/6137206.html Object obj = getObject(); if(obj instanceof Integer) int value = (Integer)obj; 1 String转换为int类型的方法: 1. Integer.parseInt([String]) 2.Integer.valueOf([String]).intValue(); 3.Integer.decode([Strin

Java中包装类型和基本类型的使用场景(什么时候使用包装类型)(转)

说明:最简单的理解,基本类型有默认值,而包装类型初始为null.然后再根据这两个特性进行分业务使用,在阿里巴巴的规范里所有的POJO类必须使用包装类型,而在本地变量推荐使用基本类型. Java语言提供了八种基本类型.六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型. 1.整数:包括int.short.byte.long初始值为0. 2.浮点型:float.double初始值为0.0 3.字符:char初始值为空格,即'' ",如果输出,在Console上是看不到效果的. 4.

大杂烩 -- Java中Iterator的fast-fail分析

基础大杂烩 -- 目录 Java中的Iterator非常方便地为所有的数据源提供了一个统一的数据读取(删除)的接口,但是新手通常在使用的时候容易报如下错误ConcurrentModificationException,原因是在使用迭代器时候底层数据被修改,最常见于数据源不是线程安全的类,如HashMap & ArrayList等. 为什么要有fast-fail 一个案例 来一个新手容易犯错的例子: String[] stringArray = {"a","b"

深入理解Java中的流---结合Hadoop进行详解

在JavaSe的基础课程当中,可以说流是一个非常重要的概念,并且在Hadoop中得到了广泛的应用,本篇博客将围绕流进行深入的详解. (一)JavaSe中流的相关概念 1.流的定义 ①在Java当中,若一个类专门用于数据传输,则这个类称为流 ②流就是程序和设备之间嫁接以来的一根用于数据传输的管道,这个设备可以是本地硬盘,可以是内存条,也可以是网络所关联的另外一台计算机等等,其中不同管道上有不同的按钮,按下不同的按钮相当于调用不同的方法,这根带按钮的用于数据传输的管道就是流,即流就是一根管道 ③流一

JAVA中文件的读写 I/O 输入输出流

主要内容 1.编码问题 2.File类的使用 3.RandomAccessFile的使用 4.I/O 输入输出流 编码问题: 1 import java.io.UnsupportedEncodingException; 2 3 public class 编码问题 { 4 public static void main(String[] args) { 5 // 我们项目的默认编码是GBK 6 String s = "测试 ABC"; 7 byte[] byte1 = s.getByte