zoukankan      html  css  js  c++  java
  • int和integer的区别和使用

    基本数据类型和引用数据类型的区别和介绍:https://www.cnblogs.com/bekeyuan123/p/7468845.html

    1.int是基本数据类型,integer是引用数据类型,是int的包装类,int只是一个值,而integer是一个类,那么就具有很多方法和属性

    2.在存储方式上也有许多不同,int是直接存储在栈中,而引用数据类型的值是存储在堆中的,然后在栈中开辟一个内存对象指向堆,integer a=new integer(100),这个a就是存储在栈中的引用,而100是存在堆里的,这个a是指向100的地址。

    3.int默认是0,而integer默认是null

    4.

    如果我们定义一个int类型的数,只是用来进行一些加减乘除的运算or作为参数进行传递,那么就可以直接声明为int基本数据类型,但如果要像

    对象一样来进行处理,那么就要用Integer来声明一个对象,因为java是面向对象的语言,因此当声明为对象时能够提供很多对象间转换的方式,与一些常用

    的方法。自认为java作为一们面向对象的语言,我们在声明一个变量时最好声明为对象格式,这样更有利于你对面向对象的理解。

    比如:Arraylis<integer> a=new ArrayList<>();这种;里面存储的是类,用int就是不可以的

    5.(补充)== 和 equals的区别,我个人理解目前是,==比较的是地址,而equals比较的是值得大小 ;

    对于==,如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等; 如果作用于引用类型的变量,则比较的是所指向的对象的地址 2)对于equals方法,注意:equals方法不能作用于基本数据类型的变量 如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址; 诸如String、Date等类对equals方法进行了重写的话,比较的是所指向的对象的内容。

    1.Int和Integer比较大小

    public static void main(String[] args) {
    int i = 10;
    Integer i1 = new Integer(10);
    System.out.println(i == i1);
    }

    true

    Integer和int比较会进行自动拆箱,比较的是大小

    Integer变量和int变量比较时,只要两个变量的值是向等的,则结果为true(因为包装类Integer和基本数据类型int比较时,java会自动拆包装为int,然后进行比较,实际上就变为两个int变量的比较)

    Integer i = new Integer(100);
    int j = 100;
    System.out.print(i == j); //true
  • 相关阅读:
    云原生技术实践,起步k8s
    线程,同步构造
    线程,限制的异步操作
    DotNet Core管道通信
    打下设计模式
    739--Daily Temperatures
    1021--RemoveOutermostParentheses
    Java并行程序基础。
    155--MinStack
    1047--Remove All Adjacent Duplicates In String
  • 原文地址:https://www.cnblogs.com/cherishforchen/p/9987703.html
Copyright © 2011-2022 走看看