首页 > 编程语言 >Java包装类

Java包装类

时间:2023-12-13 14:44:40浏览次数:34  
标签:Java String 包装 System println Integer 装箱 out

包装类

什么是包装类

  • 基本数据类型所对应的引用数据类型

  • Object可同一所有数据,包装类的默认值是null

基本数据类型包装类型
byte Byte
short Short
int Integer
long Long
float Float
double Double
boolean Boolean
char character

类型转换与装箱拆箱

  • 8种包装类提供不同类型间的转换方式:

    • Number父类中提供的6个共性方法

    • valueOf:装箱

    • intValue:拆箱

package com.lin.box.demo01;

public class Test {

   public static void main(String[] args) {
       int num1 = 10;
       //装箱:把基本数据类型转换为对应的包装类类型
       //使用Integer的静态方法valueOf
       Integer integer1 = Integer.valueOf(num1);
       Integer integer2 = new Integer(num1);
       System.out.println("装箱");
       System.out.println(integer1);
       System.out.println(integer2);


       //拆箱:把包装类类型转换为对应的基本数据类型
       Integer integer3 = new Integer(10);
       int num2 = integer3.intValue();
       System.out.println("拆箱");
       System.out.println(num2);

       //JDK1.5之后,;自动装箱,自动拆箱
       int age = 30;
       //自动装箱
       Integer integer4 = age;
       System.out.println("自动装箱");
       System.out.println(integer4);
       //自动拆箱
       int age2 = integer4;
       System.out.println("自动拆箱");
       System.out.println(age2);
  }

}
  • parsexxx提供基本类型和字符串之间的转换

    package com.lin.box.demo02;

    public class Test {

       public static void main(String[] args) {
           //1.基本类型转化为字符串
           int num1 = 255;
           //1.1使用‘+’号
           String s1 = num1 + "";
           //1.2使用Integer中的toString方法
           String s2 = Integer.toString(num1);
           String s3 = Integer.toString(num1,16);
           System.out.println(s1);
           System.out.println(s2);
           System.out.println(s3);

           //2.字符串转化为基本类型
           System.out.println("-------------");
           String s4 = "123";
           //2.1使用包装类中的parseXXX静态方法
           int num2 = Integer.parseInt(s4);
           System.out.println(num2);

           //boolean字符串形式转成基本类型,“true” ---> true, 非“true” ---> false
           String str = "true";
           boolean b = Boolean.parseBoolean(str);
           System.out.println(b);

           String str2 = "true1";
           boolean b2 = Boolean.parseBoolean(str2);
           System.out.println(b2);
      }

    }

注意:需要保证类型兼容,否则会抛出NumberFormatException异常。

整数缓冲区

  • Java预先创建了256个常用的整数包装类型对象

  • 在实际引用中,对已创建的对象进行服用

package com.lin.box.demo03;

public class Test {

   public static void main(String[] args) {
       Integer integer1 = new Integer(1);
       Integer integer2 = new Integer(1);
       System.out.println(integer1 == integer2);//false
       //引用类型的数据存储在堆内存中,比较的是地址值,所以结果为false

       Integer integer3 = 100;//自动装箱
       Integer integer4 = 100;
       System.out.println(integer3 == integer4);//true
       //Integer缓冲区中默认保存了-128~127的数据,如果是在这个范围内,会直接从缓冲区中取出数据,地址相同,所以结果为true

       Integer integer5 = 200;//自动装箱
       Integer integer6 = 200;
       System.out.println(integer5 == integer6);//false
       //超出这个范围,会重新new一个对象,地址不同,所以结果为false
  }

}
 

标签:Java,String,包装,System,println,Integer,装箱,out
From: https://www.cnblogs.com/PaiAL/p/17898990.html

相关文章

  • 【JAVA】使用intellij IDEA将项目打包为jar包
    当你有一个能正常编译的项目,以springboot为例,有两步步骤打包配置打包一、打包配置1.点击右上角快捷按钮/文件-->项目结构,打开项目结构设置  2.项目结构-->Artifacts,如图所示选择 3.在CreateJARfromModules配置, 4.配置jar输出相关设置 二、打包1.构建......
  • Java文件上传与下载
    文件上传因为项目很多地方要用到上传功能,所以抽取出来一个UploadUtils工具类,需要使用文件上传功能只需要注入UploadUtils就行。项目中配置的额外的静态资源目录,返回的是相对路径(相对于静态资源目录的路径),如/role/a.png表示的是D:/uploads/mhxysy/role/a.png或者项目resources目录......
  • 【交叉链表】Java哈希表——HashSet类/双指针
    leetcode160.相交链表题意:给定两个链表A、B的表头节点,找到链表交叉节点(地址值相同)。链表A长度为m,链表B长度为n,范围在[1,3e4]题解1:根据哈希表去重的原理,使用哈希表集合HashSet来维护链表节点,默认比较节点地址值。将链表A中的节点全部add进HashSet中,然后遍历链表B中的节点,如果......
  • Java零基础-枚举
    前言Java作为一门流行的编程语言,在各种领域都有广泛的应用。而在Java中,枚举是一种十分重要的数据类型。通过枚举,我们可以列出一组具有固定数量的值。摘要本文将介绍Java中的枚举类型,包括枚举类型的定义、使用方法,以及枚举类型在实际开发中的应用场景和优缺点分析。为了方便理解,......
  • 无涯教程-Java - 嵌套 if 语句函数
    nestedif-else嵌套语句这意味着您可以在另一个iforelseif语句中使用一个iforelseif语句。nestedif-语法if(Boolean_expression1){//当布尔表达式1为true时执行if(Boolean_expression2){//当布尔表达式2为true时执行}}nestedif-示例......
  • java面向对象
    面向对象类和对象:类(设计图):是对象共同特征的描述。对象:是真实存在的东西。在Java中必须先设计类,然后才能获得对象。类:publicclass类型{}创建对象:类名对象名=new类名();用来描述一类事物的类,专业叫做JavaBean类注意:类名首字母大写,需要见名知义,驼峰命名一个java......
  • JavaWeb文件上传和下载
    JavaWeb文件上传和下载(含文件上传重名覆盖解决方案)快速回忆,快就完了(哈哈)。我们这里借助的是:commons-fileupload-1.2.1.jarcommons-io.jar1文件上传1.1步骤0、前端页面的from表单设置enctype=“multipart/form-data”method=“post”<formaction="fileUpDown/FileUpServle......
  • java泛型
    一、概述 二、泛型类 示例:   三、泛型方法 示例:  四、泛型接口 示例:   五、类型通配符 示例: ......
  • 牛客Java题目练习
    Java用监视器机制实现了线程之间的同步执行。byteb=(byte)129的值是-127,因为byte的存储数字范围为[-128,127],在计算机中,数值用补码表示,相当于一个环,因此是-127。一个Java源程序文件中定义几个类和接口,则编译该文件后生成几个以.class为后缀的字节码文件。错误,因为忽略......
  • JavaWeb教程
    JavaScriptJS是一门弱类型的语言,变量的数据类型由后面的赋值的类型决定。==是等于,做简单的字面值的比较;===是全等于,除了做字面值的比较外,还会比较两个变量的数据类型。vara="12";varb=12;a==b;//truea===b;//false在JavaScript中,所有的变量都可以作为一个布尔类型的......