java包装类

2023-11-17

1.概述

将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据

常用操作方法之一:用于基本数据类型与字符串之间的转换

2.Integer

2.1构造方法

2.1.1

public Integer(int number)//根据int值创建Integer对象(过时)

2.1.2

public Integer(String s)//根据String值创建Integer对象(过时)

2.1.3

public static Integer valueOf(int i)//返回表示指定的int类型的Integer实例

2.1.4

public static Integer valueOf(String s)//返回一个保存指定Integer对象String 

2.2 常用方法

2.2.1int和String之间的转换

int-->String :

int num=100;
String s1=""+num;//第一种
String s2=String .valueOf(num);//第二种

String-->int:

String s="100";
Integer i=Integer.valueOf(s);
int x=i.intvalue();//第一种:String-->Integer-->int
int y=Integer.parseInt(s);

学到这里我们来做一道练习题来试试我们的水平:
将字符串中的数字进行排序;

String s="12 45 96 32 448";
package 算法练习;
import java.util.Arrays;

public class practice_01 {
    public static void main(String[] args) {
    String s="12 45 96 32 448";
        String[] split = s.split(" ");//split是按照空格去分割字符串(这里是空格可以是其他的符号)
       int[] arr=new int[split.length];
        for (int i=0;i<arr.length;i++){
            arr[i]=Integer.parseInt(split[i]);
        }
        Arrays.sort(arr);//对int数组进行排序
        //把排序后的int数组中的元素进行拼接得到一个字符串,这里拼接采用StringBuilder来实现
        StringBuilder sb=new StringBuilder();
        for (int i=0;i<arr.length;i++){
            if(i==arr.length-1)
                sb.append(arr[i]);
            else
                sb.append(arr[i]).append(" ");
        }
        String result=sb.toString();
        System.out.println(result);
    }
}

3.1自动装箱和拆箱

装箱:把基本数据类型转换为对应的包装类类型

拆箱:把包装类类型转换为对应的基本数据类型

注意:在使用包装类类型的时候,如果做操作最好先判断是否为null

只要是对象在使用前就必须进行不为null的判断

public class Test {
    public static void main(String[] args) {
        int a = 10;
        Integer a1 = 11;
        Integer a2 = a; // 自动装箱
        System.out.println(a);
        System.out.println(a1);

        Integer it = 100;
        int it1 = it; // 自动拆箱
        System.out.println(it1);

        double db = 99.5;
        Double db2 = db; // 自动装箱了
        double db3 = db2; // 自动拆箱
        System.out.println(db3);

        // int age = null; // 报错了!
        Integer age1 = null;
        Integer age2 = 0;

        System.out.println("-----------------");
        // 1、包装类可以把基本类型的数据转换成字符串形式。(没啥用)
        Integer i3 = 23;
        String rs = i3.toString();
        System.out.println(rs + 1);

        String rs1 = Integer.toString(i3);
        System.out.println(rs1 + 1);

        // 可以直接+字符串得到字符串类型
        String rs2 = i3 + "";
        System.out.println(rs2 + 1);

        System.out.println("-----------------");

        String number = "23";
        //转换成整数
        // int age = Integer.parseInt(number);
        int age = Integer.valueOf(number);
        System.out.println(age + 1);

        String number1 = "99.9";
        //转换成小数
//        double score = Double.parseDouble(number1);
        double score = Double.valueOf(number1);
        System.out.println(score + 0.1);
    }
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java包装类 的相关文章

随机推荐

  • RPC实践(四)Dubbo实践

    Dubbo是一款重要的RPC框架 它是Alibaba开源的分布式服务框架 它主要特点 提供了注册中心来进行服务的管理 支持zookeeper redis等方式来实现注册中心 Dubbo按照分层的方式来架构 使用这种方式可以使各个层之间解耦合
  • Ubuntu18.04/20.04 Mendeleydesktop 安装及问题解决

    文章目录 安装 Issue Reference 安装 下载最新版本 Download Mendeley Desktop for Ubuntu Debian 32 Bit Download Mendeley Desktop for Ubunt
  • docker入门笔记(基础版)

    镜像命令 查看docker概要信息 docker info 列出本地主机上的镜像 docker images docker images a 查看远程库的镜像 docker search xx 下载镜像 在这里插入代码片 docker pu
  • 服务器无响应(已断开),服务器无响应 已断开(服务器无响应)

    服务器无响应是怎么回事 首先 检查其他人的电脑或您的手机等设备是否能正常连接到网络并打开网站 如果其他设备无法打开 当然 您的网络有问题 否则 你的电脑有问题 这时 先尝试重启电脑电脑重启电脑是不够的 可以尝试自己修复一些免费的DNS地址
  • 深度学习经典网络解析图像分类篇(一):LeNet-5

    深度学习经典网络解析图像分类篇 一 LeNet 5 1 背景介绍 2 LeNet 5网络架构 2 1输入层 2 2第一层 卷积层C1 2 3第二层 池化层S2 下采样 2 3第三层 卷积层C3 第四层 池化层S4 第五层 卷积层C5 第六层
  • 无序(未排序)数组二分查找

    二分查找也称折半查找 Binary Search 它是一种效率较高的查找方法 但是 折半查找要求线性表必须采用顺序存储结构 而且表中元素按关键字有序排列 但是对于无序数组 我们可以先排序在二分 但还有一种技巧就是结合快排的思想 即每次选择一
  • 电脑提示msvcp110.dll是什么意思?msvcp110.dll丢失修复办法分享

    当我们使用电脑时 有时候会出现一些错误提示 其中就包括了 msvcp110 dll 丢失 的提示 那么 这个提示是什么意思呢 电脑提示找不到msvcr110 dll怎么办 我们在使用电脑的时候 总是会遇到很多的电脑难题 当我们在遇到了缺少m
  • CMake中while/continue/break的使用

    CMake中的while命令用于在条件为true时评估 evaluate 一组命令 其格式如下 while
  • 使用Numpy创建三维矩阵

    1 创建语句 创建形式有两种 1 随机数形式 np random random x y z 2 0或1形式 np ones x y z np zeros x y z 2 x y z 的含义 如果把x y z想做一个空间直角坐标系 那么x就相
  • SpringCloud环境搭建及入门案例

    技术选型 Maven 3 8 4 SpringBoot 2 7 8 SpringCloud 2021 0 4 SpringCloudAlibaba 2022 0 1 0 Nacos 2 1 1 Sentinel 1 8 5 模块设计 父工程
  • iptables上如何封IP

    一 封单个IP 1 封锁单个ip iptables I INPUT s IP j DROP root node1 iptables I INPUT s 192 168 1 11 j DROP root node1 iptables L Ch
  • 内网渗透之AccessToken窃取与利用

    文章目录 令牌 Token AccessToken的窃取与利用 1 程序 incognito exe 2 MSF下的incognito模块 3 Invoke TokenManipulation ps1脚本 MSF实战假冒令牌提权 令牌 To
  • MES管理系统的哪些优势对企业帮助比较大

    随着全球制造业的快速发展 MES制造执行系统已成为企业生产管理的重要工具 MES管理系统解决方案集成了企业生产流程中的各个环节 包括计划 调度 质量 设备等 为企业提供了全面的生产管理解决方案 制造企业MES系统的优势颇多 其中对企业帮助比
  • Nginx反向代理配置

    首先配置反向代理前已经要把之前配置过的伪静态删除掉 不然保存的时候报错以下是反向代理的完整配置 请注意其中的端口号 8000 当前这个端口号就是 config swoole php文件中的server port配置中的端口号 locatio
  • Admin监控&Sleuth链路追踪 &skywalking链路追踪

    Admin监控 Sleuth链路追踪 skywalking Sleuth Zipkin 一 Sleuth Zipkin介绍 二 搭建环境 三 Sleuth入门操作 四 Zipkin搭建及操作 五 RabbitMQ方式发送信息 六 Elast
  • Net跨平台UI框架Avalonia入门-DataGrid的使用

    Avalonia中的DataGrid的使用 DataGrid 数据表格是客户端UI中很重要的一个控件 Avalonia中的DataGrid是单独一个包Avalonia Controls DataGrid 要使用DataGrid 需要另外在N
  • 3559 编译gdb-7.9

    1 安装ncurses 6 0 这个在3559 sdk中有 可以直接使用 configure with shared without debug without ada enable overwrite 2 编译gdb configure
  • 1007. 素数对猜想 (20)

    让我们定义 dn 为 dn pn 1 pn 其中 pi 是第i个素数 显然有 d1 1 且对于n gt 1有 dn 是偶数 素数对 猜想 认为 存在无穷多对相邻且差为2的素数 现给定任意正整数N lt 105 请计算不超过N的满足猜想的素数
  • pragma指令简介

    在编写程序的时候 我们经常要用到 pragma指令来设定编译器的状态或者是指示编译器完成一些特定的动作 下面介绍了一下该指令的一些常用参数 希望对大家有所帮助 一 message 参数 message 它能够在编译信息输出窗 口中输出相应的
  • java包装类

    1 概述 将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据 常用操作方法之一 用于基本数据类型与字符串之间的转换 2 Integer 2 1构造方法 2 1 1 public Integer int number