栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java中的Object~包装类(2022.5.2)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中的Object~包装类(2022.5.2)

Object类

  • 在Java中所有的类都继承与Object类,当然只要是类,它里面一定由一些方法和属性,其中 equals() 方法就是Object类中的其中一个;比较常用.

回顾:操作符 == 和Object中的方法 equals()

    package zhai.object;
    import java.io.IOException;
    public class ObjectDemo1 {
        public static void main(String[] args) {
            String s = new String("zhai");
            String ss = "zhai";
            // equals():方法是Object类中的一个方法是比较字符串中的内容是否相等
            System.out.println(s.equals(ss));
            // == :是操作符,它是用来比较基本数据类型中的数字,要是用来比较字符串的话,它只会比较字符串中的地址
            if (s == ss){
                System.out.println(ss);
            }else {
                System.out.println("内存地址是不会相等的!");
            }
        }
    }
    输出:
    	true
    	内存地址是不会相等的!

注意:很显然的可以看见只要拿 == 比较new后的字符串它输出一定不相等,因为它比较的是内存中的字符串内容地址;但是通过equals()可以比较字符串的内容是否相等。

包装类

因为 Java 是一门强类型语言,所以它每个类型的字符都有相对应的数据类型,然而就把类型定义死了,不能去操作变量;但是这时候 Java 就提供了包装类这个词,既然它是个类就一定有属性和方法;提供了很大的方便,用于不同类型的变量进行来回切换;如:你输入一个字符串,它把你这个字符串包装起来输出个Int类型的整型.

练习:

    package zhai.integer;
    import java.util.Scanner;
    
    
    public class IntegerDemo1 {
        public static void main(String[] args) {
            // 定义一个字符串
            String s = "2";
            // 将字符串转为 Double 类型使用 Double中的 parseDouble() 方法
            double v = Double.parseDouble(s);
            // 字符串是不能运算的;通过包装类后可以进行输出
            System.out.println(v * 2);
    
            String s1 = "123123";
            // 可以将字符串转为 int 类型
            int i = Integer.parseInt(s1);
            // 经过操作后输出
            System.out.println(i-123122);
        }
    }
    输出:
    	4.0   // 注意我们定义的是字符串 2
    	1   // 这边定义的字符串123123      注意:这就是包装类的作用

这里就引出了拆箱和装箱的说法:

  • 将包装类转换为基本数据类型称为:拆箱
  • 将基本数据类型转化为包装类称为:装箱

注意:实例化包装类可以将基本数据类型装箱,因为有构造方法。

    package zhai.integer;
    import java.util.Scanner;
    
    
    public class IntegerDemo1 {
        public static void main(String[] args) {
            // 定义一个字符串
            String s = "2";
            // 将字符串转为 Double 类型使用 Double中的 parseDouble() 方法
            double v = Double.parseDouble(s);
            // 字符串是不能运算的;通过包装类后可以进行输出
            System.out.println(v * 2);
    
            Double d = new Double(3.12);  // 装箱操作
            System.out.println(d);
            String s1 = "123123";
            // 可以将字符串转为 int 类型
            int i = Integer.parseInt(s1);  // 拆箱
            // 经过操作后输出
            System.out.println(i-123122);
        }
    }
    输出:
        4.0
        3.12
        1

int 和 Integer 的区别

  • int 是基本数据类型之一,Integer是个类且是Int的包装类.
  • int默认值是0,而Integer变量默认值为null.
  • int可以直接使用变量,Integer必须要通过实例化后用对象调用.
  • int是一个存储整型的容器,而Integer通过实例化后是个对象。
    package zhai.integer;
    public class IntegerDemo2 {
        public static void main(String[] args) {
            // 自动装箱:将 基本数据类型(int) 转换为 包装类(Integer)
            Integer i = 1;
            // 自动拆箱:将 包装类(Integer)转换为 进本数据类型(Int)
            int i1 = i ;
            System.out.println(i);
            // 比较 Integer 中的数据和 int变量
            System.out.println(i == i1);
    
            Integer i2 = 12;
            Integer i3 = 12;
            System.out.println(i2 == i3);
            // 非 new 的 Integer 值在-127~128之间的数字会为 true 否则 false
            Integer i4 = 128;
            Integer i5 = 128;
            System.out.println(i4 == i5);
    
            // new 对象的地址不同
            Integer i7 = new Integer(24);
            Integer i6 = 24;
            System.out.println(i6==i7);
        }
    }
    输出:
    	1
        true
        true
        false
        false
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/851440.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号