JavaAPI常用类01
目录
概述
Object类
Object类_toString()
代码展示
重写toString()方法前后输出
Object类_equals()
代码展示
重写equals()方法前后输出对比
Arrays类
equals()方法
Binary Search(二分查找)
copyOf()方法
sort()方法
了解sort()方法
进阶
基本数据类型包装类
例一
例二
概述
常用类API
常用类:Java系统中提供的一些使用频率较高的类
API:(Application Programming Interface):应用程序编程接口
Java系统中所提供的一系列类和接口
api文档:官方给广大Java开发者、学习者提供对类和接口功能的说明文档
Object类
object
java.lang.object是Java类体系中的最顶级的类,万类之祖,
Object类_toString()
代码展示
package com.ffyc.javaapi.objectdemo;public class Person extends Object{private String name;private int age;public Person() {}public Person(String name, int age) {this.name = name;this.age = age;}/*重写父类中toString方法*/@Overridepublic String toString() {return "Person{" +"name='" + this.name + '\'' +", age=" + this.age +'}';}
}
toString()
当输出一个对象时,会默认调用类中toString()方法,把对象以字符串形式输出,
类中如果没有toString(),那么会调用父类(Object.toString)
public String toString(){
//Object类中默认输出类的名字和对象在内存中的地址(10进制 转为16进制)
return getClass().getName() + "@" + Integer.toHexString(hashCode())
}
package com.ffyc.javaapi.objectdemo;public class ToStringDemo {*/public static void main(String[] args) {Person person1 = new Person("三儿",18);Person person2 = new Person("小舞",100000);System.out.println(person1);//没有进行对toString方法重写前输出:com.ffyc.javaapi.objectdemo.Person@1b6d3586System.out.println(person2);}}
重写toString()方法前后输出
重写前
重写后
Object类_equals()
代码展示
package com.ffyc.javaapi.objectdemo;public class Person extends Object{private String name;private int age;public Person() {}public Person(String name, int age) {this.name = name;this.age = age;}/*重写父类中equals方法 */@Overridepublic boolean equals(Object obj) {Person p = (Person)obj;return this.name.equals(p.name) && this.age == p.age;}
}
public boolean equals(Object obj){
return (this == obj);
}
== 用于基本类型,比较值是否相等
== 用于引用类型比较时,比较的是两个引用的地址是否相等
package com.ffyc.javaapi.objectdemo;import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;public class TestEquals {public static void main(String[] args) { int a = 10;int b = 10;System.out.println(a==b);Person person1 = new Person("三儿",18);//凡是new出来的,内存地址肯定不同Person person2 = new Person("三儿",18);Person person3 = person2;System.out.println(person1.equals(person2));//以后如果比较两个对象的地址是否相等时,直接使用==比较即可System.out.println(person1==person2);System.out.println(person3==person2);//所以其他的类为了比较两个对象中包含的内容是否相等,都对Object中的equals(),进行了重写,改为判断内容是否相等System.out.println(person1.equals(person2));//equals()用来比较对象中的内容是否相等String s1 = new String("aaa");String s2 = new String("aaa");System.out.println(s1==s2);//falseSystem.out.println(s1.equals(s2));//true}
}
重写equals()方法前后输出对比
重写前
重写后
Arrays类
equals()方法
equals是object类中的方法,只能用于判断引用类型
equals方法默认判断的是地址是否相等,子类中往往重写该方法,用于判断内容是否相等。
比如String和Integer类中的equals源代码
package com.ffyc.javaapi.arraysdemo;import java.util.Arrays;public class ArraysEquals {public static void main(String[] args) { int[] a = {1,2,3,4,5,6};//数组也是对象,也是继承Objectint[] b = {1,2,3,4,5,6};System.out.println(a==b);//false 比较的是两个数组对象的地址System.out.println(a.equals(b));//false 数组也是对象,也继承了Object类,数组名.equals() 调用的是Object类中的equalsSystem.out.println(Arrays.equals(a,b)); //true比较的两个数组中的内容是否相等}
}
Binary Search(二分查找)
package com.ffyc.javaapi.arraysdemo;import java.util.Arrays;public class ArraysBinarySearch {public static void main(String[] args) {int [] a = {1,2,3,4,5,6,7};//二分查找算法, 需要数组是有序,如果数组中不包含要找的key,返回负数,找到了返回元素所在的索引位置int index = Arrays.binarySearch(a,8);System.out.println(index);//指定区间的查找 包含开始索引,到结束索引-1.int index1 = Arrays.binarySearch(a,0,4,5);System.out.println(index1);}
}
copyOf()方法
数组复制:
java中的数组在创建时,指定长度,一旦给定长度不能改变
30--->扩容40 new 40
将原数组中的内容复制到一个指定长度的新数组中
package com.ffyc.javaapi.arraysdemo;import java.util.Arrays;public class ArraysCopyof {public static void main(String[] args) { int [] a = {1,2,3,4,5};int[] b = Arrays.copyOf(a,10);System.out.println(Arrays.toString(b));}
}
sort()方法
了解sort()方法
即对一个数组的所有元素进行排序
而且排序的时候是从小到大
package com.ffyc.javaapi.arraysdemo;import java.util.Arrays;public class ArraysSort {public static void main(String[] args) {//基本数据类型int [] a = {5,2,3,4,1,6};Arrays.sort(a);//对整个数组默认进行升序排序Arrays.sort(a,0,4);//对指定区间进行升序排序,包含开始位置,不包含结束位置(显示结束位置的上一位)System.out.println(Arrays.toString(a));//引用数据类型String[] s = {"b","a","c","d"};Arrays.sort(s);System.out.println(Arrays.toString(s));}
}
进阶
当存在两种或两种以上数据类型时,通过重写sort()方法进行排序
package com.ffyc.javaapi.arraysdemo;public class Student implements Comparable<Student>{private int num;private String name;public Student(int num, String name) {this.num = num;this.name = name;}@Overridepublic String toString() {return "Student{" +"num=" + num +", name='" + name + '\'' +'}';}/*此方法用来制定和排序规则此方法会在sort()进行调用*/@Overridepublic int compareTo(Student o) {return this.num - o.num;//小于0 等于0 大于0(通过num排序)//return this.name.compareTo(o.name);(通过name排序)}
}
package com.ffyc.javaapi.arraysdemo;import java.util.Arrays;public class ArraysSort {public static void main(String[] args) { Student s1 = new Student(001,"三儿");Student s2 = new Student(002,"十三");Student s3 = new Student(003,"洛雪");Student s4 = new Student(004,"一心");Student[] students = new Student[4];students[0] = s2;students[1] = s1;students[2] = s4;students[3] = s3;Arrays.sort(students);System.out.println(Arrays.toString(students));//System.out.println("a".compareTo("b"));字符串比较大小,返回一个int值}
}
基本数据类型包装类
Java中基本数据类型,由8种关键字设声明的,不是面向对象的设计。
为了对基本类型更加方便的操作,Java为每一种基本类型创建了一个类来进行表示。
核心是类中还是包含了一个基本数据类型,还包含了很多关于基本类型操作的方法。
这样我们使用包装类型,表示一个数据,符合面向对象思想
例一
package com.ffyc.javaapi.datatype;public class MyInt {int value;public MyInt(int value) {this.value = value;}public int maxint(){return Integer.MAX_VALUE;}public int minint(){return Integer.MIN_VALUE;}public static void main(String[] args) {int a = 10;MyInt b = new MyInt(10);System.out.println(b.maxint());System.out.println(b.minint());System.out.println(Integer.toBinaryString(3)); }
}
例二
package com.ffyc.javaapi.datatype;public class IntegerDemo1 {public static void main(String[] args) {int x = 10;Integer a = new Integer(x);System.out.println(Integer.MAX_VALUE);System.out.println(Integer.MIN_VALUE);System.out.println(Integer.SIZE);System.out.println(Integer.BYTES);System.out.println(Integer.toBinaryString(333));}
}
相关文章:

JavaAPI常用类01
目录 概述 Object类 Object类_toString() 代码展示 重写toString()方法前后输出 Object类_equals() 代码展示 重写equals()方法前后输出对比 Arrays类 equals()方法 Binary Search(二分查找) copyOf()方法 sort()方法 了解sort()方法 进阶…...

在 where子句中使用子查询(二)
目录 ANY ANY :功能上与 IN 是没有任何区别的 >ANY :比子查询返回的最小值要大 ALL >AL :比子查询返回的最大值要大 EXISTS() 判断 NOT EXISTS Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209…...

TongWEB(东方通),部署WEB前后端项目步骤
我的系统: 银河麒麟桌面系统V10(SP1)(兆芯) 环境需要搭建好,什么redis,数据库等 1.准备项目前端war包 (我后端项目本就是war部署,jar转war自行百度一下吧) 进入前端打包好的dist文件夹,创建一个文件夹 WEB-INF ,再在 WEB-INF 里创建一个 web.xml 文件,文件内容: <web-…...

Vue中如何使用dayjs
Day.js中文网Day.js是一个极简的JavaScript库,可以为现代浏览器解析、验证、操作和显示日期和时间。https://dayjs.fenxianglu.cn/ 单位不区别大小写,支持复数和缩写形式 单位缩写描述 date D日期 [1,31]dayd星期 [0,6](星期日0,…...
数据库-MySQL
建立索引 mysql 添加索引的三种方法 - krt-wanyi - 博客园 (cnblogs.com) 跨库联表查询 MySQL不同数据库不同表连表查询(跨库连表查询)-CSDN博客 关于微服务跨数据库联合查询的一些解决思路_微服务跨库联表查询-CSDN博客 同一个连接不同数据库前缀 …...

C语言每日一题(61)盛最多水的容器
题目链接 力扣 11 盛最多水的容器 题目描述 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水…...

uni-app 经验分享,从入门到离职(四)——页面栈以及页面跳转的 API(开发经验总结)
文章目录 📋前言⏬关于专栏 🎯什么是页面栈🧩页面跳转方法📌 uni.navigateTo(OBJECT)📌 uni.redirectTo(OBJECT)📌 uni.reLaunch(OBJECT)📌 uni.switchTab(OBJECT)📌 uni.navigateBa…...
Go Module常用命令
Go Module常用命令TOC Go Module常用命令 go mod init #初始化go.mod go mod tidy #更新依赖文件 go mod download #下载依赖文件 go mod vendor #将依赖转移至本地的vendor文件 go mod edit #手…...
ubuntu压缩和解压
-c 创建 -x 解压 -v 显示过程 -f 文件名 xz格式 tar -tf arm-linux-gnueabi-5.4.0.tar.xz 查看压缩包的内容 tar -xf arm-linux-gnueabi-5.4.0.tar.xz -C / 解压 gz格式 t…...

华为HCIP Datacom H12-831 卷24
多选题 1、如图所示,某园区部署OSPF实现网络互通,其中Area1部署为NSSA区域。某工程师为了实现R1访问R4的环回口地址,在R4的OSPF进程中引入直连路由。以下关于该场景的描述,错误的有哪些项? A、在R4引入直连路由后,R1通过转换后的…...
react + Typescript 中 react有多少内置的类型 分别是什么
react Typescript 中 react有多少内置的类型 分别是什么 React 和 TypeScript 结合使用时,React 提供了一系列的内置类型(也称为类型定义或类型别名)来帮助你在 TypeScript 中编写类型安全的代码。这些类型定义涵盖了 React 的各个方面&…...

harbor(docker仓库)仓库部署 - 高可用
harbor(docker仓库)仓库部署 - 高可用 1. harbor高可用1.1 方案说明1. 双主复制2. 多harbor实例共享后端存储 1.2 部署高可用(多harbor实例共享后端存储)1. 服务器划分2. 安装harbor(先部署一套Harbor,用于…...
题目 1262: 邮局选址问题
题目描述: 在一个按照东西和南北方向划分成规整街区的城市里,n个居民点散乱地分布在不同的街区中。用x 坐标表示东西向,用y坐标表示南北向。各居民点的位置可以由坐标(x,y)表示。街区中任意2 点(x1,y1)和(x2,y2)之间的距离可以用数值|x1-x2||y1-y2|度量…...
内核内存回收关键隐藏变量之page引用计数
在分析内核内存回收源码时,page引用计数并不显眼,但是page引用计数对page的内存回收至关重要。本文基于linux-4.18.0-240版本内核源码,总结下文件页page的引用计数的相关细节。首先是get_page()和put_page()函数,分别令page引用计…...
数据结构---链表的基本操作
头插法遍历链表尾插法头删法尾删法按位置插入数据按位置删除数据直接插入排序 链表翻转快慢指针 linklist.c #include <stdio.h> #include <stdlib.h> #include "./linklist.h"linklist* create_linklist(void) {linklist* head (linklist*)malloc(siz…...

异步框架Celery在Django中的运用
参考博客:https://www.cnblogs.com/pyedu/p/12461819.html 参考视频:01 celery的工作机制_哔哩哔哩_bilibili 定义:简单灵活、处理大量消息的分布式系统,专注于实时处理异步队列,支持任务调度 主要架构: …...

YOLOv5代码解读[02] models/yolov5l.yaml文件解析
文章目录 YOLOv5代码解读[02] models/yolov5l.yaml文件解析yolov5l.yaml文件检测头1--->耦合头检测头2--->解耦头检测头3--->ASFF检测头Model类解析parse_model函数 YOLOv5代码解读[02] models/yolov5l.yaml文件解析 yolov5l.yaml文件 # YOLOv5 🚀 by Ult…...

智能搬运机器人|海格里斯将如何持续推进工业和物流的智能化升级与发展?
存取、搬运、分拣是物流行业中的通用功能,但具体到每个行业又十分不同,例如:新能源电池领域,它所搬运的东西是电池,50KG~200KG;快递行业领域,所要处理的物料是那种扁平件和信封等等,…...

linux之前后端项目部署与发布
目录 前言 简介 一、安装Nginx 二、后端部署 2.1多个tomcat负载均衡 2.2 负载均衡 2.3 后端项目部署 三、前端部署 1.解压前端 2.Nginx配置文件修改 3.IP域名映射 4.重启Nginx服务 前言 上篇博主已经讲解过了单机项目的部署linux之JAVA环境配置JDK&Tomcat&a…...
Python 高级语法:一切皆对象
1 “一切皆对象”是一种核心设计哲学 在编程领域,特别是面向对象编程(OOP)中,“一切皆对象”是一种核心设计哲学。这种哲学主张,无论是数据、函数、还是更复杂的结构,都可以被视为对象,并赋予…...

边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...

ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
C++.OpenGL (10/64)基础光照(Basic Lighting)
基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...

使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...

基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

uniapp手机号一键登录保姆级教程(包含前端和后端)
目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...