Java从零开始学二十六(包装类)

一、包装类

包装类是将基本类型封装到一个类中。也就是将基本数据类型包装成一个类类型。

java程序设计为每一种基本类型都提供了一个包装类。这些包装类就在java.lang包中.有8个包装类

二、包装类的构造方法和静态方法

2.1、第一种

public Type (type value) 其中首字母大写的Type表示包装类,小写的type表示基本类型

这个构造方法接收一个基本数据类型值,并创建一个与之相应的包装类。

可以使用new关键字将一个基本类型包装为一个对象

Integer intValue=new Integer(21);
Long longValue=new Long(21L);
Character charValues=new Character(‘x‘);
Boolean booleanValue=new Boolean(true);

传递给包装类构造方法的参数,要是该包装类所包装的基本类型的值

2.2、第二种

public Type (String value)

将字符串参数转换为包装类,但Character类除外

Byte byteValue=new Byte("21");
Float floatValue=new Float("21");
Boolean booleanValues=new Boolean("true");

传入的字符串要符合基本类型要求

如:下面错误的写法

Float floatValue=new Float("abc");

2.3、第三种

public static Type valueOf(type value)

Short shorValue=Short.valuesOf((short) 21);
Integer intValue=Integer.valuesOf(21);
Character charValue=Character.valueOf(‘x‘);
Boolean booleanValue=Boolean.valueOf(true);

public static Type valueOf(String s)

Byte byteValue=Byte.valueOf("21");
Integer intValue=Integer.valueOf("21");

三、常用类型转换

3.1、包装类转换为基本类型

包装类.Value();方法

     Integer intValue=Integer.valueOf(21);
        int value=intValue.intValue();

        Boolean booleanValue=Boolean.valueOf("true");
        boolean bvalue=booleanValue.booleanValue();

3.2、字符串转换成基本类型

public static type parseType(String type)

      int num=Integer.parseInt("21");
        boolean flag=Boolean.parseBoolean("true");

3.3、基本类型转换成字符串

public static String toString(type value)

  String id=Integer.toString(21);
        String sex=Character.toString(‘男‘);

简单写法

在基本类型后面使用+""进行转换

String id =21+"";

String sex=‘男‘+"";

3.4、自动装箱和拆箱

装箱:基本类型转换为包装类的对象

拆箱:包装类对象转换为基本类型的值

在java se5.0之后不需要用编码来实现它们之间的转换了,JDK后自动帮助我们完成了

Integer intObject=5;  //装箱
int  intValue=intObject;   //拆箱
时间: 2024-10-07 12:41:43

Java从零开始学二十六(包装类)的相关文章

Java从零开始学二十二(集合Set接口)

一.Set接口的定义 Set接口也是Collection接口的子接口,但是与Collection或List接口不同的是,Set接口中不能加入重复的元素 Set接口的主要方法与Collection是一致的 Set接口的实例无法像List接口那样进行双向输出.不存在get方法使用Iterator接口来遍历集合 2个常用方法:hasNext方法表示判断是否还有元素可以迭代 next()方法:返回迭代的下一个元素 Set接口的常用子类 散列存放:HashSet 有序存放:TreeSet 二.使用SetH

Java从零开始学三十六(JAVA IO- 字符流)

一.字符流 BufferedReader:BufferedReader是从缓冲区之中读取内容,所有的输入的字节数据都将放在缓冲区之中 BufferedWriter:把一批数据写入到缓冲区,当缓冲区区的满时,再把缓冲区的内容写到字符输出流中 二.对文本文件的读写 2.1.字符输入流 2.2.字符输出流 2.3.综合使用 package com.pb.io.buffered; import java.io.BufferedReader; import java.io.BufferedWriter;

Java从零开始学二十四点(集合工具类Collections)

一.Collections简介 在集合的应用开发中,集合的若干接口和若干个子类是最最常使用的,但是在JDK中提供了一种集合操作的工具类 —— Collections,可以直接通过此类方便的操作集合 二.Collections类的常用方法及常量 No. 方法 类型 描述 1 public static final List EMPTY_LIST 常量 返回一个空的List集合 2 public static final Set EMPTY_SET 常量 返回空的Set集合 3 public sta

Java从零开始学二十(集合简介)

一.为什么需要集合框架 数组的长度是固定的,但是如果写程序时并不知道程序运行时会需要多少对象.或者需要更复杂的方式存储对象,---那么,可以使用JAVA集合框架,来解决这类问题 二.集合框架主要接口 No 接口 描述 1 Collection 是存放一组单值的最大接口,所谓的单值是指集合中的每个元素都是一个对象.一般很少会直接使用此接口直接操作. 2 List 是Collection接口的子接口,也是最常用的接口,此接口对Collection接口进行了大量的扩充,里面的内容是允许重复的. 3 S

Java从零开始学二十九(大数操作(BigIntger、BigDecimal)

一.BigInteger 如果在操作的时候一个整型数据已经超过了整数的最大类型长度long的话,则此数据就无法装入,所以,此时要使用BigInteger类进行操作. 不可变的任意精度的整数.所有操作中,都以二进制补码形式表示 BigInteger(如 Java 的基本整数类型).BigInteger 提供所有 Java 的基本整数操作符的对应物,并提供 java.lang.Math 的所有相关方法.另外,BigInteger 还提供以下运算:模算术.GCD 计算.质数测试.素数生成.位操作以及一

Java从零开始学二十八(Math类和Random类)

一.Math概述 提供了常用的数学运算方法和两个静态常量E(自然对数的底数)和PI(圆周率) 二.常用方法 package com.pb.demo1; public class MathTest { public static void main(String[] args) { System.out.println("求平方根:" + Math.sqrt(9.0)); System.out.println("求两数的最大值:" + Math.max(10,30))

Java从零开始学二十(Ubuntu下配置jdk)

一.下载 jdk:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 二.安装JDk 2.1.解压jdk 1.创建一个目录 [email protected]:/$ sudo mkdir /usr/local/develoment [sudo] password for ln0491: [email protected]-virtual-machine:/$ ls /usr/loc

Java从零开始学四十六(Junit)

一.软件测试 软件开发: 项目调研--需求分析--软件设计--程序编码--软件测试--运行维护 软件测试:利用测试工具按照测试方案和流程对产品进行功能和性能测试,使用人工或者自动手段来运行或测试某个系统的过程.目的在于检验是否满足规定的需求,确认预期结果与实际结果之间的差别. 墨盒测试-白盒测试-回归测试-单元测试 二.JUnit-单元测试工具 三.测试Junit测试类 创建被测试类 package com.pb.junit; /** *1.创建被测试类 *2.Junit 3.0或者4.0 这里

Java从零开始学四十二(DOM解析XML)

一.DOM解析XML xml文件 favorite.xml <?xml version="1.0" encoding="UTF-8" standalone="no"?> <PhoneInfo name="手机品牌"> <Brand name="华为"> <Type name="U8650"> </Type> </Brand