当前位置 : 主页 > 编程语言 > java >

《Java 核心技术 卷1》 笔记 第五章 继承(7) 包装类和可变数组

来源:互联网 收集:自由互联 发布时间:2022-07-13
5.4 对象包装器和自动打包 8种常见的基本类型,都有其对应的包装类 int=Integer long=Long float=Float double=Double short=Short byte=Byte char=Character boolean=Boolean Java的可变列表内,是不允许使用基本类


5.4 对象包装器和自动打包

8种常见的基本类型,都有其对应的包装类

int=>Integer

long=>Long

float=>Float

double=>Double

short=>Short

byte=>Byte

char=>Character

boolean=>Boolean

Java的可变列表内,是不允许使用基本类型的而是使用其包装类

比如:

List<Integer> list = new ArrayList<>();

自动装箱:对于设置的位置已知是引用类型,而传入值是基本类型的情况,可自动转换为包装类

自动拆箱:对于一个引用类型,把它进行拆包时,也可自动转换为基本类型

public class Main {

public static void main(String[] args){

Main solution = new Main();

List<Integer> list = new ArrayList<>();

list.add(1);

System.out.println(list);

int x = list.get(0);

System.out.println(x);

}

}

包装类和基本类型的区别:

  • 包装类可以是空值,比如Integer a = null;是可以的,而基本类型不能赋值null
  • 《Java 核心技术 卷1》 笔记 第五章 继承(7) 包装类和可变数组_类与对象

  • 包装类型比较的建议是使用compareTo,或者转换成基本类型再进行比较,例如:
  • 《Java 核心技术 卷1》 笔记 第五章 继承(7) 包装类和可变数组_linq_02

    可理解为-128到127的整型都有对应的缓存对象,但是这以外的部分需要构建新的对象

    package editor.cn.com;

    import java.util.*;



    public class Main {

    public static void main(String[] args){

    Main solution = new Main();

    Integer a = 5;

    Integer b = 5;

    System.out.println(a==b);

    System.out.println(a.compareTo(b)==0);

    Integer c = 1000;

    Integer d = 1000;

    System.out.println(c==d);

    System.out.println(c.compareTo(d)==0);

    }

    }

    《Java 核心技术 卷1》 笔记 第五章 继承(7) 包装类和可变数组_webview_03

    5.5 参数数量可变的方法

    形式:传入参数时,最末尾的参数可作为可变参数,传入0到多个值,或者数组

    public class Main {

    public static void main(String[] args){

    Main solution = new Main();

    solution.print();//可以传0个参数

    solution.print("abc");//可以传1个参数

    solution.print("abc",1,2,5);//可以传多个参数

    solution.print(new Object[]{"ccc",1,2,5});//可以传数组

    }



    public void print(Object ... objs){

    for(Object obj:objs){

    System.out.print(obj);

    }

    System.out.println();

    }

    }

    《Java 核心技术 卷1》 笔记 第五章 继承(7) 包装类和可变数组_java_04

    可变参数非最末尾参数时,会报错:

    《Java 核心技术 卷1》 笔记 第五章 继承(7) 包装类和可变数组_java_05

      系列内容:

    《Java 核心技术 卷1》 笔记:第一章 Java程序设计概述

    《Java 核心技术 卷1》 笔记:第二章 Java程序设计环境

    《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(1)

    《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(2)

    《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(3)

    《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(4)

    《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(5)

    《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(6)

    《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(7)大数处理、数组、多维数组、控制台传参

    《Java 核心技术 卷1》 笔记 第四章:类与对象

    《Java 核心技术 卷1》 笔记 第四章:类与对象(2) GregorianCalendar 与 类的基本组成

    《Java 核心技术 卷1》 笔记 第四章:类与对象(3) 构造器全局私有方法

    《Java 核心技术 卷1》 笔记 第四章:类与对象(4) 静态字段+静态方法+工厂方法

    《Java 核心技术 卷1》 笔记 第四章:类与对象(5) 形参与实参 构造器的默认值与默认构造

    《Java 核心技术 卷1》 笔记 第四章:类与对象(6) 构造器调用与初始化块

    《Java 核心技术 卷1》 笔记 第四章:类与对象(7) 注释、JavaDoc与类设计

    《Java 核心技术 卷1》 笔记 第五章 继承

    《Java 核心技术 卷1》 笔记 第五章 继承(2)

    《Java 核心技术 卷1》 笔记 第五章 继承(3)

    《Java 核心技术 卷1》 笔记 第五章 继承(4)equals方法

    《Java 核心技术 卷1》 笔记 第五章 继承(5)hashCode 与 toString

    《Java 核心技术 卷1》 笔记 第五章 继承(6) 泛型

     喜欢的话,点个赞吧~!平时做题,以及笔记内容将更新到公众号。

    关注公众号,互相学习:钰娘娘知识汇总

    《Java 核心技术 卷1》 笔记 第五章 继承(7) 包装类和可变数组_类与对象_06

    网友评论