重学java 35.API 6.包装类

心有所念,必有所灵

                        —— 24.5.10

一、基本数据类型对应的引用数据类型(包装类)

1概述

        就是基本类型所对应的类(包装类),我们需要将基本类型转为包装类,从而让基本类型拥有类的特性(是基本类型可以使用包装类中的方法操作数据)

2.为什么学包装类

        a.将来有一些特定场景,特定操作,比如调用方法传递包装类

                比如:ArrayList集合,里面有一个方法add(Integer i),此时我们不能调用add方法之后直接传递基本类型,因为引用类型不能直接接收基本类型的值,就需要先将基本类型转成包装类,传递到add方法中

        b.将来我们还可以将包装类转成基本类型
                包装类不能直接使用 + - * /,所以需要将包装类转成基本类型,才能使用+ - * /

二、Integer的介绍以及使用

1.integer基本使用

概述

        Integer是int的包装类

构造

        Integer(int value)

        Integer(string s) s必须是数字形式

public class Demo188Integer {
    public static void main(String[] args) {
        Integer i1 = new Integer(10);
        System.out.println("i1 = "+i1);

        Integer i2 = new Integer("10");
        System.out.println("i2 = "+i2);

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

        Boolean b1 = new Boolean("true");
        System.out.println("b1 = "+b1);

        Boolean b2 = new Boolean("false");
        System.out.println("b2 = "+b2);

        Boolean b3 = new Boolean("True");
        System.out.println("b3 = "+b3);
    }
}

2.valueOf装箱

        将基本类型转成对应的包装类

方法:

        static Integer valueof(int i)

        static Integer valueof(String s)

3.数据类型+Value拆箱

        将包装类转成基本类型

方法:

        int intvalue()

package S63Integer;

public class Demo190IntValue {
    public static void main(String[] args) {
        Integer i1 = Integer.valueOf(10);
        System.out.println("i1 = "+ i1);

        int i2 = i1.intValue();
        System.out.println("(i2+10) = "+(i2+10) );
    }
}

4.自动拆箱装箱

//1、包装类中的自动装箱拆箱机制
Integer  num1 = 1;		//自动装箱
int num2 = num1;		//自动拆箱
System.out.println(num1 +"	"+ num2);

        拆箱和装箱都是自动完成

public class Demo191IntegerOpsite {
    public static void main(String[] args) {
        Integer i = 1;  // 发生了自动装箱
        Integer sum = i+6;// 发生了自动拆箱装箱
        System.out.println("sum = "+ sum);
    }
}

数组里装的是-128~127间的Integer对象,如果在-128 ~ 127之间 直接从数组里取元素返回,转化为基本数据类型,不用new对象

public class Demo192Integer {
    public static void main(String[] args) {
        // 自动装箱
        Integer i1 = 100;
        Integer i2 = 100;
        System.out.println(i1 == i2);
    // 如果在-128 ~ 127之间 直接从数组里取元素返回,不用new对象
        // 自动装箱
        Integer i3 = 128;
        Integer i4 = 128;
        System.out.println(i3 == i4);
    }
}

对上述代码进行反编译

Integer integer = Integer.valueOf(1);
int i = integer.intValue();
System.out.println((new StringBuilder()).append(integer).append("\t").append(i).toString());

三、基本类型和String之间的转换

1 基本类型往String转

①方式1:

        +拼接

②方式2:

        String中的静态方法static String valueof(int i)

③示例

public class Demo193StringParse {
    public static void main(String[] args) {
        int i = 10;
        String s1 = i+"";
        System.out.println(s1+1);
        System.out.println(s1.getClass().toString());

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

        String s = String.valueOf(10);
        System.out.println(s+1);
        System.out.println(s.getClass().toString());

    }
}

2.String转成基本数据类型

        每个包装类中都有一个类似的方法:parsexxx

public class Demo194Parse {
    public static void main(String[] args) {
        method01();
        method02();
    }

    private static void method02() {
        int num = Integer.parseInt("1111");
        System.out.println("(num+1) = " + num+1);

    }

    private static void method01() {
    }
}

1.在实际开发过程中如何定义一个标准javabean?

        定义javabean的时候一般会将基本类型的属性定义成包装类型的属性

public class User {
    private int uid;// 用户id
    private String username;// 用户名
    private String password;// 密码

    public User() {
    }

    public User(int uid, String username, String password) {
        this.uid = uid;
        this.username = username;
        this.password = password;
    }

    public int getUid() {
        return uid;
    }

    public void setUid(int uid) {
        this.uid = uid;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

1.举例:如果uid为Integer型,默认值是null

2.将来javabean中的数据都是和数据库表联系起来的,我们可以将javabean中的数据添加到表中如果表中的uid为主键自增的,此时添加语句时,uid中的数据不用我们单独维护赋值了,添加语句的sql语句就可以这样写:
        insert into user(uid,username,password)values (NULL,'金莲','36666');
3.到时候,我们需要将javabean中封装的数据获取出来放到sq]语句中,如果uid为主键自增,而且javabean中的uid为包装类型,默认值为NULL,这样就不用单独维护uid的值了,也不用先给javabean中的uid赋值,然后在保存到数据库中了,咱们就可以直接使用uid的默认值,将默认值放到sql语句的uid列中
4.而且将javabean中的属性变成包装类,还可以使用包装类中的方法去操作此属性值

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/610769.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Excel操作之工具类

需求:根据指定的路径下模版进行解析 将模版上传到指定的文件服务器。 1:将路径下的excel文件进行解析 下载 A:创建excel表格对应的字段注解 ExcelColumn Retention(RetentionPolicy.RUNTIME) Target(ElementType.FIELD) public interface ExcelColumn …

milvus元数据在etcd的存储解析

milvus元数据在etcd的存储解析 数据以key-value形式存在。 大致包含如下一些种类: databasecollectionfieldpartitionindexsegment-indexresource_groupsession database 创建一个数据库会产生2个key,但value是相同的。 key规则: 前缀/root-coord/database/db…

【SRC实战】利用APP前端加密构造数据包

挖个洞先 https://mp.weixin.qq.com/s/ZnaRn222xJU0MQxWoRaiJg “ 以下漏洞均为实验靶场,如有雷同,纯属巧合” 01 — 漏洞证明 “ 参数加密的情况,不会逆向怎么办?” 1、新用户首次设置密码时抓包,此处设置为0000…

设计合理的IT运维服务目录:打造高效运维的蓝图

在数字化转型的浪潮中,一个设计合理、内容详尽的IT运维服务目录是连接服务提供者与消费者之间的桥梁,它不仅体现了服务设计的专业性,还直接影响着运维效率和服务质量。如何设计出既合理又高效的IT运维服务目录?让我们结合ITIL 4框…

Modown9.1主题无限制使用+Erphpdown17.1插件

Modown9.1主题无限制使用 1、Erphpdown17.1插件Modown9.1主题 2、送Modown主题详细教程。 1、Erphpdown插件和Modown主题无需激活 2、送的插件均无需激活 3、主题插件均不包更新 4、已亲测可以完美使用。 功能强大,适用于绝大多数虚拟资源站!物超所值&a…

分布式光伏管理平台功能介绍

一、项目管理系统 1、关键信息:板块化展现项目关键信息,包含所在区域、屋面类型、未来25年发电量、累计收益等信息。 (1) 可迅速获取项目核心要点 (2) 及时跟进修改,凸显项目信息 (3) 项目信息清晰展现,了解整体项目流程 2、项…

【已解决】QT C++中QLineEdit不可粘贴输入

本博文源于生产实际,主要解决LineEdit不可粘贴输入的情况。下面将进行具体分析 问题来源 输入框只能一个个输入,不可复制粘贴。 分析 给QLineEdit装一个监听事件,监听它的事件即可。 问题解决步骤 问题一共分为三步: 书写监…

Find My资讯|苹果设备在修复期间可以保持启用“Find My“功能

iOS 17.5 中有一项名为"维修状态"的新功能,可让送修的设备保持启用"查找我的"(Find My)功能。此前,用户在送修设备时必须禁用跟踪设备位置的"查找我的"功能,但iOS 17.5发布后&#xff0…

鸿蒙应用开发DevEco Studio工程目录模块介绍

面向开发者,HarmonyOS 推出了 DevEco Studio 和 Dev Device Tool 两款开发工具,前者目前迭代至 3.1 版本(对外开放版本),用于开发 HarmonyOS 应用;后者用于开发智能设备 应用的工程主体结构如上图 在这里我…

flutter开发实战-GetX响应式状态管理使用

flutter开发实战-GetX响应式状态管理使用 GetX是一个简单的响应式状态管理解决方案。GetX是Flutter的一款超轻、功能强大的解决方案。它将高性能状态管理、智能依赖注入和路由管理快速而实用地结合在一起。这里简单使用一下GetX 一、引入GetX 在工程的pubspec.yaml中引入插件…

Python中的分布式爬虫系统Scrapy与分布式任务队列的结合

随着互联网的不断发展,网络爬虫在数据采集和信息挖掘中发挥着重要作用。然而,单机爬虫往往难以应对大规模数据抓取的需求,因此,构建分布式爬虫系统成为了一种必然选择。本文将介绍如何利用 Python 中的 Scrapy 框架和分布式任务队…

TikTok自动评论、回复的脚本怎么制作?

在当今数字化的时代,社交媒体平台如TikTok已经成为人们日常生活的一部分,为了更有效地在TikTok上进行营销或互动,许多用户和企业开始寻找自动化工具,如自动评论和回复的脚本,以节省时间并提高效率。 本文将科普如何制…

H5 处理点击元素高亮、自定义按钮、去除焦点边框

1、设置移动设备上点击元素时出现的高亮颜色 *{-webkit-tap-highlight-color: transparent; }2、如果你想要自定义按钮的样式,你可以使用 -webkit-appearance: none; 来移除按钮的默认样式 .button {-webkit-appearance: none;appearance: none; /* 兼容性更好的通…

C语言 | Leetcode C语言题解之第72题编辑距离

题目&#xff1a; 题解&#xff1a; static inline int Min(const int a, const int b, const int c) {int min (a < b) ? a : b;return (min < c) ? min : c; }int minDistance(char * word1, char * word2){int m strlen(word1), n strlen(word2);int dp[m 1][n…

知识蒸馏,需要合适的教师模型,学生模型,蒸馏数据,损失函数,训练策略,让小模型有大模型的知识

知识蒸馏使用的是Teacher—Student模型&#xff0c;其中teacher是“知识”的输出者&#xff0c;student是“知识”的接受者。知识蒸馏的过程分为2个阶段: 原始模型训练: 训练"Teacher模型", 它的特点是模型相对复杂&#xff0c;也可以由多个分别训练的模型集成而成。…

C++_红黑树的学习

1. 红黑树的概念 红黑树 &#xff0c;是一种 二叉搜索树 &#xff0c;但 在每个结点上增加一个存储位表示结点的颜色&#xff0c;可以是 Red 或 Black 。 通过对 任何一条从根到叶子的路径上各个结点着色方式的限制&#xff0c;红黑树确保没有一条路 径会比其他路径长出俩倍 &…

【活动】如何通过AI技术提升内容生产的效率与质量

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 如何通过AI技术提升内容生产的效率与质量引言一、自然语言处理&#xff08;NLP&…

JAVA排序相关习题7

1.插入排序 1.1 基本思想 直接插入排序是一种简单的插入排序法&#xff0c;其基本思想是&#xff1a; 把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中&#xff0c;直到所有的记录插入完为止&#xff0c;得到一个新的有序序列 。 /*** 时间复杂度&…

自然资源-地质勘查工作的流程梳理

自然资源-地质勘查工作的流程梳理 地质勘查从广义上可理解为地质工作&#xff0c;地质队员就好像是国家宝藏的“寻宝人”&#xff0c;通过地质勘查&#xff0c;为国家找矿&#xff0c;以保障国家能源资源安全和服务国计民生&#xff0c;发挥着地质工作在国民经济建设中的基础性…

跟TED演讲学英文:Teachers need real feedback by Bill Gates

Teachers need real feedback Link: https://www.ted.com/talks/bill_gates_teachers_need_real_feedback Speaker: Bill Gates Date: May 2013 文章目录 Teachers need real feedbackIntroductionVocabularyTranscriptSummary后记 Introduction Until recently, many teach…
最新文章