01_使用API_Object类与包装类

常用API01 什么是API​ API (Application Programming Interface) :应用程序编程接口java中的API​ 指的就是 JDK 中提供的各种功能的 Java类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,我们可以通过帮助文档来学习这些API如何使用。 阅读详情
什么是 API
  • API ( Application Programming interface ):应用程序编程接口
  • 就是 Java 帮我们已经写好一些程序,如:类、方法等,我们直接拿过来用就可以解决一些问题
  • 使用别人写好的程序,可以帮我们提高开发效率,站在巨人的肩膀上,做更有意义的事情
Object 类的作用
  • Object 类是 Java 中所有类的祖宗类,因此,Java 中所有类的对象都可以直接使用 Object 类中提供的一些方法

  • Object 类的常见方法

toString()equals()clone()
返回对象的字符串表示形式判断两个对象是否相等对象克隆
import java.util.Objects;

public class Test {
    public static void main(String[] args) {
        // 1. toString()方法
        Student s1 = new Student("Jack");
        System.out.println(s1.toString());  // 返回对象内存地址的字符串形式:login.Student@3b07d329
        System.out.println(s1);  // 默认也是返回对象的内存地址:login.Student@3b07d329

        // 所以toString()常用的使用方式是:对toString()进行重写,返回我们真正需要的关于对象的信息,而不是内存地址
        System.out.println(s1.toString());  // 重写后,输出结果为:Student{name='Jack'}

        // 2. equals()方法
        Student s2 = new Student("Jack");
        System.out.println(s2.equals(s1));  // 比较两个对象的地址是否相同; 输出结果:false
        System.out.println(s2 == s1);  // 默认也是比较两个对象的地址是否相同; 输出结果:false

        // 所以equals()常用的使用方法是:对equals()进行重写,比较对象的信息是否一致,而不是比较内存地址
        System.out.println(s2.equals(s1));  // 重写后,输出结果:true
        
    }
}

class Student {  // 默认就继承了 Object 类
    private String name;

    public Student() {
    }

    public Student(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    // 重写 Object 父类的 toString() 方法
    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                '}';
    }

    // 重写equals方法,比较两个对象的内容是否一样
    @Override
    public boolean equals(Object o) {
        // 1. 判断两个对象地址是否一样,一样直接返回true
        if (this == o) return true;
        // 2. 如果o是null或者如果两者类型不一致,直接返回
        // 这里的" getClass() != o.getClass() " 其实是省略了" this " 的
        // 即原来是" this.getClass() != o.getClass() "
        if (o == null || getClass() != o.getClass()) return false;
        // 3. 如果都不是上面的情况,就进行类型转换,然后比较数据
        Student student = (Student) o;
        return Objects.equals(this.name, student.name);
    }
}
Objects
  • Objects 是一个工具类,提供了很多的操作对象的静态方法给我们使用
  • Objects 类的常见方法
方法名说明
public static boolean equals (Object a, Object b)我们;源码分析见下
public static boolean isNull(Object obj)判断对象是否为null,为null返回true,反之
public static boolean nonNull(Object obj)判断对象是否不为null,不为null则返回true,反之

源码分析:底层实现原理是——先做非空判断,再比较两个对象

public static boolean equals(Object a, Object b){
    return (a == b) || (a != null && a.equals(b));
}
包装类

1.包装类就是把基本数据类型的数据包装成对象

基本数据类型对应的包装类(引用数据类型)
byteByte
shortShort
intInteger
longLong
charCharacter
floatFloat
doubleDouble
booleanBoolean
import java.util.ArrayList;

public class Test {
    public static void main(String[] args) {
        // 一般的方式
        Integer obj1 = Integer.valueOf(12);
        System.out.println(obj1);  // 输出结果:12

        // 自动装箱:可以自动把基本类型的数据转换成对象
        Integer obj2 = 12;

        // 自动拆箱:可以自动把包装类型的对象转换成对应的基本数据类型
        int a = obj2;

        // 泛型和集合不支持基本数据类型,只能支持引用数据类型
//      ArrayList<int> list1 = new ArrayList<>();  // 报错
        ArrayList<Integer> list2 = new ArrayList<>();  // 正常
        list2.add(33);  // 自动装箱
        list2.add(44);  // 自动拆箱

        int res = list2.get(1);  // 自动拆箱
    }
}

2.包装类的其他常见操作

  • 可以把基本类型的数据转换成字符串类型
  • 可以把字符串类型的数值转换成数值本身对应的数据类型
public class Test {
    public static void main(String[] args) {
        // 1. 把基本类型的数据,转换成字符串
        Integer a = 23;
        String res = Integer.toString(a);
        System.out.println(res + 1);  // 输出结果:231

        // 2. 把字符串类型的数据,转换成对应的基本数据类型
        String ageStr = "29";
        int age = Integer.parseInt(ageStr);
        System.out.println(age + 1);  // 输出结果:30

        // 然后,实际开发中,推荐使用 valueof(),记住一个就能用在所有的数据类型
        String scoreStr = "98";
        int score = Integer.valueOf(scoreStr);
        System.out.println(score + 2);  // 输出结果:100

        String idStr = "0.5";
        double id = Double.valueOf(idStr);
        System.out.println(id + 0.5);  // 输出结果:1.0
    }
}
day01Java高级----【Object类、常用API】 Java高级基础知识 阅读详情

相关推荐

MATLAB/Simulink与ThingSpeak集成:打通物联网数据与工业算法仿真的闭环

在工业算法开发与控制系统设计中,模型仿真与真实世界数据的脱节是常见的工程挑战。其核心原理在于构建一个双向数据流闭环,将虚拟的仿真模型与物理世界的传感器网络连接起来。这一技术方案的核心价值在于大幅缩短算法迭代周期,实现数据驱动的设计与验证。典型的应用场景包括数字孪生构建、预测性维护和硬件在环(HIL)测试的云端化。通过将MATLAB/Simulink这一强大的模型化设计环境,与ThingSpeak物联网云平台进行深度集成,工程师能够轻松地将实时或历史的物联网数据流直接注入仿真模型作为输入,同时将仿真结果实时回

weixin_34220179的博客 469

01-object类,常用API

01【Object类、常用API】 文章目录01【Object类、常用API】主要内容教学目标第一章 Object类1.1 概述1.2 toString方法方法摘要覆盖重写1.3 equals方法方法摘要默认地址比较对象内容比较1.4 Objects类第二章 日期时间类2.1 Date类概述常用方法2.2 DateFormat类构造方法格式规则常用方法format方法parse方法2.3 练习2....

qq_33820545的博客 294

【实战解析】RTL8306MB交换芯片驱动开发中的RMII接口调试陷阱

本文深入剖析了RTL8306MB交换芯片驱动开发中RMII接口的典型调试陷阱。通过一个工业网关项目的实战案例,揭示了因硬件原理图设计疏忽导致TX_EN与CRS_DV信号线错接,从而引发网络“哑火”的根本原因。文章详细展示了使用示波器从时钟、数据到控制信号的系统性排查方法,并总结了关键的设计警示与自查清单,为嵌入式网络开发中的软硬件协同调试提供了宝贵经验。

qqq44的博客 1028

JavaAPI-包装类、Math、Object、System、Runtime

1.基本数据类型,开辟在栈区2.引用数据类型,开辟在堆区3.包装类有属性有方法,但是基本类型没有4.包装类对应着八大基本类型(1)基本类型:byte short int long float double char boolean(2)包装类:Byte Short Integer Long Float Double Character Boolean5.相互转换(1)将String转换为基本数据类型(2)将基本数据类型转化为String类型(3)将基本类型转换为包装类。

m0_53499553的博客 1216

头歌工程实训答案-机器学习篇之手写体识别篇

第2关:激活函数'''x:负无穷到正无穷的实数'''if x<=0:return 0else:return x#***第3关:反向传播算法import os。

m0_71537260的博客 2518

SpyGlass CDC实战:如何用sgdc约束文件解决跨时钟域报错(附常见错误排查)

本文详细介绍了如何使用SpyGlass CDC工具链中的sgdc约束文件解决跨时钟域(CDC)报错问题。从基础约束文件架构到复杂场景调试,涵盖了时钟域定义、复位信号约束、Waiver策略等关键技巧,并附有常见错误排查方法,帮助工程师高效处理CDC验证挑战。

loss4bartender的博客 1148

Java | apijava01字符串与包装类

【代码】Java | apijava01字符串与包装类。

eniacgit的博客 757

如何绘制电气绝缘图(GB9706.1-2007和GB9706.1-2020差异)

是用来描述要考虑设备的绝缘状况和它们的值 ,从而便于和相关部门交流和沟通,如权威机构和检测实验室等。本文为绝缘图的实例, 包括所有相关的绝缘路径以及介电强度,爬电距离和电气间隙的值。

学海无涯的专栏 1万+

01【Object类、常用API】-笔记

【Object类、常用API】 主要内容 Object类 Date类 DateFormat类 Calendar类 System类 StringBuilder类 包装类 教学目标 -[ ] 能够说出Object类的特点 -[ ] 能够重写Object类的toString方法 -[ ] 能够重写Object类的equals方法 -[ ] 能够使用日期类输出当前日期 -[ ] 能够使用将日期格式化为...

YangS121jun的博客 230

假期搞定!2026国社科申报AI全攻略指南:从选题到创新,7大核心要点手把手教你!

最后给大家推荐的400多所高校教师都在用的AI平台——高级学术版专业应用平台,集成了国际主流学术应用,以及ChatGPT、Claude、Gemini、Grok等Al大模型的高级版本平台,还有,可以辅助大家高效完成科研和学术写作任务,当然撰写硕博论文,课题、职称论文、国社科、国自然基金本子也是手拿把掐。你的任务是:用高度凝练的方式说明在(某一明确国家战略 / 政策方向,如:中国式现代化、共同富裕、基层治理现代化、数字中国、文化强国、国家安全等)背景下,我究竟要研究一个什么“具体而可操作的问题”。

智能AI让学术科研更容易 623

《拉依达的嵌入式\驱动面试宝典》—计算机硬件篇(一)

《拉依达的嵌入式\驱动面试宝典》 整合了所有我认为可能遇到的技术面试问题。所有问题及其答案均是我个人学习后查阅资料总结,每个回答都做了仔细的分析,在嵌入式及其驱动面试相关问题解析做到全网独一无二。学习或者转行到嵌入式、驱动开发领域学习的不二之选

拉依达不拉跨的博客 768

day01【Object类、常用API】-笔记 (* Object类 * Date类 * DateFormat类 * Calendar类 System类 StringBuilder类、包装类)

# day01【Object类、常用API】 ## 主要内容 * Object类 * Date类 * DateFormat类 * Calendar类 * System类 * StringBuilder类 * 包装类 ## 教学目标 -[ ] 能够说出Object类的特点 -[ ] 能够重写Object类的toString方法 -[ ] 能够重写Object类的equals方法 -[ ] 能...

Qioooba的博客 296

[Dify实战] [安全合规] 用 Dify 优化安全巡检:从经验驱动到标准闭环-带绑定资源

摘要:企业信息系统安全管理中,安全合规巡检面临标准不统一、整改难追踪等痛点。本文提出基于Dify工具的智能化解决方案,通过自动化工作流实现标准检查清单生成、风险等级标注、整改建议输出及审计记录归档。方案采用结构化Prompt模板和Markdown输出格式,涵盖账号权限、数据安全等核心维度,并提供证据收集建议和闭环管理机制,帮助组织从人工经验驱动转向数据流程驱动的合规管理。配套可导入Dify的工作流文件将随后发布。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 272

day01【Object类、常用API】-笔记

day01【Object类、常用API】 主要内容 Object类 Date类 DateFormat类 Calendar类 System类 StringBuilder类 包装类 教学目标 -[ ] 能够说出Object类的特点 -[ ] 能够重写Object类的toString方法 -[ ] 能够重写Object类的equals方法 -[ ] 能够使用日期类输出当前日期 -[ ] 能够使用将日期格式化为字符串的方法 -[ ] 能够使用将字符串转换成日期的方法 -[ ] 能够使用System类的数组复制方

weixin_51425201的博客 189

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

01【Object类、常用API】

day01【Object类、常用API】 主要内容 Object类 Date类 DateFormat类 Calendar类 System类 StringBuilder类 包装类 -[ ] 能够说出Object类的特点 -[ ] 能够重写Object类的toString方法 -[ ] 能够重写Object类的equals方法 -[ ] 能够使用日期类输出当前日期 -[ ] 能够使用将日期格式化为字符串的方法 -[ ] 能够使用将字符串转换成日期的方法 -[ ] 能够使用System类的数组复制方法 -[

z12397_的博客 143

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

【Object类、常用API】

day01【Object类、常用API】 主要内容 Object类 Date类 DateFormat类 Calendar类 System类 StringBuilder类 包装类 教学目标 -[ ] 能够说出Object类的特点-[ ] 能够重写Object类的toString...

1209

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Java入门-10、Object类认识与使用、Date类以及包装类

1、认识与了解Objecet类 java.lang.Object 类是Java语言中的根类,即所有类的父类。 它中描述的所有方法子类都可以使用。在对象实例化的时候,最终找的父类就是Object。 如果一个类没有特别指定父类, 那么默认则继承自Object类 2、根据JDK源代码及Object类的API文档,Object类当中包含的方法有11个。 比较常见的两种方法: public St...

CODEING一场空的博客 229

12 Object类、日期时间类、Calendar类、System类、StringBuilder类、包装类、常用API

文章目录Object类、常用API一、Object类1. Object类的 toString 方法2. Object类的equals方法3. 重写Object类的equals方法4. Objects类的equals方法5. Object类和Objects类总结二、日期时间类1. 毫秒值的概念和作用2. Date类的构造方法和成员方法3. DateFormat类与SimpleDateFormat类介绍4. DateFormat类的format和parse方法5. 练习三、Calendar类1. Calenda

朱古力的博客 622

java——Object类、常用API

day01【Object类、常用API】 主要内容 Object类 Date类 DateFormat类 Calendar类 System类 StringBuilder类 包装类 教学目标 -[ ] 能够说出Object类的特点 -[ ] 能够重写Object类的toString方法 -[ ] 能够重写Object类的equals方法 -[ ] 能够使用日期类输出当前日期 -[ ] 能够使用将日...

wanglele1的博客 237

Java进阶【Object类、常用API】

day12【Object类、常用API】第一章 Object类1.1 概述1.2 toString方法方法摘要覆盖重写1.3 equals方法方法摘要默认地址比较对象内容比较1.4 Objects类第二章 日期时间类2.1 Date类概述常用方法2.2 DateFormat类构造方法格式规则常用方法format方法parse方法2.3 练习2.4 Calendar类概念获取方式常用方法get/se...

hu_zhi_chao的博客 1253

day01【Object类、常用API】

day01【Object类、常用API】 主要内容 Object类 Date类 DateFormat类 Calendar类 System类 StringBuilder类 包装类 教学目标 -[ ] 能够说出Object类的特点 -[ ] 能够重写Object类的toString方法 -[ ] 能够重写Object类的equals方法 -[ ] 能够使用日期类输出当前日期 -[ ] 能够使用将日期格式化为字符串的方法 -[ ] 能够使用将字符串转换成日期的方法 -[ ] 能够使用System类的数组复制方

是小朱啊的博客 164
上一篇: 14_面向对象高级_泛型
下一篇: 02_使用API_String
code_stream
博客等级 码龄4年 1238粉丝 169原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值