ToB企服应用市场:ToB评测及商务社交产业平台

标题: day13--Java常用类 [打印本页]

作者: 拉不拉稀肚拉稀    时间: 2022-9-6 04:06
标题: day13--Java常用类
Java常用类

1.包装类

1.1什么是包装类?

Java 是面向对象的语言,但不是“纯面向对象”的,比如我们经常用到的基本数据类型就不是对象。
在我们实际应用中,经常需要将基本数据转换成对象,以便于操作。为了解决这个不足,Java在设计类时,为每个基本数据类型分别设计了一个对应的类进行代表,这样的八个与基本数据类型对应的类统称为包装类(Wrapper Class)
8种基本数据类型,分别对应一个包装类。包装类均位于java.lang包:
基本数据类型包装类byteBytebooleanBooleanshortShortcharCharactherintIntegerlongLongfloatFloatdoubleDouble在这八个类中,除了Character和Boolean以外,其他的都是“数字型”,“数字型”都是java.lang.Number的子类。
1.2为什么要用包装类?(优点)

例子1:让基本数据类型的数据能作为参数
  1. package li.normalclass.warpper;
  2. import java.util.ArrayList;
  3. import java.util.Date;
  4. import java.util.List;
  5. public class TsetWarpper1 {
  6.     public static void main(String[] args) {
  7.         // 1. 某些方法的参数必须是对象,为了能让基本数据类型的数据能作为参数,因此提供包装类
  8.         List list = new ArrayList();
  9.         list.add(new String("xxxx"));
  10.         list.add(new Date());
  11.         //自动装箱和拆箱从Java 1.5开始引入,目的是将原始类型值转自动地转换成对应的对象
  12.         list.add(80);//自动装箱,早期应该写成:   list.add(new Integer(80));
  13.         list.add(3.14);//自动装箱,早期:list.add(new Double(3.14));
  14.         System.out.println(list);
  15.     }
  16. }
复制代码
自动装箱和拆箱从Java 1.5开始引入,目的是将原始类型值转自动地转换成对应的对象
例子2:包装类还可以提供更多的功能
  1. package li.normalclass.warpper;
  2. import java.util.ArrayList;
  3. import java.util.Date;
  4. import java.util.List;
  5. public class TsetWarpper1 {
  6.     public static void main(String[] args) {   
  7.         // 2. 包装类还可以提供更多的功能
  8.         System.out.println(Integer.MAX_VALUE);//2147483647
  9.         
  10.         System.out.println(Integer.MIN_VALUE);//-2147483648
  11.         
  12.         System.out.println(Integer.SIZE);//32bit
  13.         
  14.         System.out.println(Integer.TYPE);//底层包装的基本数据类型
  15.     }
  16. }
复制代码
例子3:实现字符串和基本数据类型之间的转换
  1. package li.normalclass.warpper;
  2. public class TsetWarpper1 {
  3.     public static void main(String[] args) {
  4.         //3. 其他特别重要的功能:比如可以实现字符串和基本数据类型之间的转换
  5.         //比如用户在网页表单输入的所有内容,java接收完之后会全部识别为String字符串类型,这时候就要我们将字符串根据需要转变为不同的数据类型
  6.         //注意字符串不能强制转换成数值类型,不能用强制转换
  7.         
  8.         int age  = Integer.parseInt("18");
  9.         double pi = Double.parseDouble("3.14");
  10.         System.out.println(age);
  11.         System.out.println(pi);
  12.     }
  13. }
复制代码
1.3如何使用包装类

1.3.1自动装箱和自动拆箱

我们可以用一句话总结自动拆箱和自动装箱:
自动装箱过程是通过调用包装类valueOf()方法实现的,而自动拆箱过程是通过调用包装类xxxValue()方法实现的
xxx代表对应的基本数据类型,如intValue()、doubleValue()等
例子1:自动拆箱和自动装箱
  1. package li.normalclass.warpper;
  2. public class TsetWapper2 {
  3.     public static void main(String[] args) {
  4.         //如何使用包装类
  5.         //1.自动拆箱和自动装箱
  6.         Integer integer = new Integer(80);//手动装箱
  7.         int i = integer.intValue();//手动拆箱
  8.         //从jdk1.5开始支持自动装箱和自动拆箱
  9.         Integer integer1 = 80;//自动装箱
  10.         int i1 = integer;//自动拆箱
  11.         System.out.println(integer1+"\t"+i1);
  12.     }
  13. }
复制代码
例子2:自动装箱和自动拆箱的底层封装
前置知识:

[code]public static Integer valueOf(int i) {    if (i >= IntegerCache.low && i




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4