当前位置: 首页 > news >正文

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&#xff08;二分查找&#xff09; copyOf()方法 sort()方法 了解sort()方法 进阶…...

在 where子句中使用子查询(二)

目录 ANY ANY &#xff1a;功能上与 IN 是没有任何区别的 >ANY &#xff1a;比子查询返回的最小值要大 ALL >AL &#xff1a;比子查询返回的最大值要大 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库&#xff0c;可以为现代浏览器解析、验证、操作和显示日期和时间。https://dayjs.fenxianglu.cn/ 单位不区别大小写&#xff0c;支持复数和缩写形式 单位缩写描述 date D日期 [1,31]dayd星期 [0,6]&#xff08;星期日0&#xff0c…...

数据库-MySQL

建立索引 mysql 添加索引的三种方法 - krt-wanyi - 博客园 (cnblogs.com) 跨库联表查询 MySQL不同数据库不同表连表查询&#xff08;跨库连表查询&#xff09;-CSDN博客 关于微服务跨数据库联合查询的一些解决思路_微服务跨库联表查询-CSDN博客 同一个连接不同数据库前缀 …...

C语言每日一题(61)盛最多水的容器

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

uni-app 经验分享,从入门到离职(四)——页面栈以及页面跳转的 API(开发经验总结)

文章目录 &#x1f4cb;前言⏬关于专栏 &#x1f3af;什么是页面栈&#x1f9e9;页面跳转方法&#x1f4cc; uni.navigateTo(OBJECT)&#x1f4cc; uni.redirectTo(OBJECT)&#x1f4cc; uni.reLaunch(OBJECT)&#x1f4cc; uni.switchTab(OBJECT)&#x1f4cc; 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、如图所示&#xff0c;某园区部署OSPF实现网络互通&#xff0c;其中Area1部署为NSSA区域。某工程师为了实现R1访问R4的环回口地址&#xff0c;在R4的OSPF进程中引入直连路由。以下关于该场景的描述,错误的有哪些项? A、在R4引入直连路由后&#xff0c;R1通过转换后的…...

react + Typescript 中 react有多少内置的类型 分别是什么

react Typescript 中 react有多少内置的类型 分别是什么 React 和 TypeScript 结合使用时&#xff0c;React 提供了一系列的内置类型&#xff08;也称为类型定义或类型别名&#xff09;来帮助你在 TypeScript 中编写类型安全的代码。这些类型定义涵盖了 React 的各个方面&…...

harbor(docker仓库)仓库部署 - 高可用

harbor&#xff08;docker仓库&#xff09;仓库部署 - 高可用 1. harbor高可用1.1 方案说明1. 双主复制2. 多harbor实例共享后端存储 1.2 部署高可用&#xff08;多harbor实例共享后端存储&#xff09;1. 服务器划分2. 安装harbor&#xff08;先部署一套Harbor&#xff0c;用于…...

题目 1262: 邮局选址问题

题目描述: 在一个按照东西和南北方向划分成规整街区的城市里&#xff0c;n个居民点散乱地分布在不同的街区中。用x 坐标表示东西向&#xff0c;用y坐标表示南北向。各居民点的位置可以由坐标(x,y)表示。街区中任意2 点(x1,y1)和(x2,y2)之间的距离可以用数值|x1-x2||y1-y2|度量…...

内核内存回收关键隐藏变量之page引用计数

在分析内核内存回收源码时&#xff0c;page引用计数并不显眼&#xff0c;但是page引用计数对page的内存回收至关重要。本文基于linux-4.18.0-240版本内核源码&#xff0c;总结下文件页page的引用计数的相关细节。首先是get_page()和put_page()函数&#xff0c;分别令page引用计…...

数据结构---链表的基本操作

头插法遍历链表尾插法头删法尾删法按位置插入数据按位置删除数据直接插入排序 链表翻转快慢指针 linklist.c #include <stdio.h> #include <stdlib.h> #include "./linklist.h"linklist* create_linklist(void) {linklist* head (linklist*)malloc(siz…...

异步框架Celery在Django中的运用

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

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 &#x1f680; by Ult…...

智能搬运机器人|海格里斯将如何持续推进工业和物流的智能化升级与发展?

存取、搬运、分拣是物流行业中的通用功能&#xff0c;但具体到每个行业又十分不同&#xff0c;例如&#xff1a;新能源电池领域&#xff0c;它所搬运的东西是电池&#xff0c;50KG~200KG&#xff1b;快递行业领域&#xff0c;所要处理的物料是那种扁平件和信封等等&#xff0c;…...

linux之前后端项目部署与发布

目录 前言 简介 一、安装Nginx 二、后端部署 2.1多个tomcat负载均衡 2.2 负载均衡 2.3 后端项目部署 三、前端部署 1.解压前端 2.Nginx配置文件修改 3.IP域名映射 4.重启Nginx服务 前言 上篇博主已经讲解过了单机项目的部署linux之JAVA环境配置JDK&Tomcat&a…...

Python 高级语法:一切皆对象

1 “一切皆对象”是一种核心设计哲学 在编程领域&#xff0c;特别是面向对象编程&#xff08;OOP&#xff09;中&#xff0c;“一切皆对象”是一种核心设计哲学。这种哲学主张&#xff0c;无论是数据、函数、还是更复杂的结构&#xff0c;都可以被视为对象&#xff0c;并赋予…...

基于RAG的智能招聘引擎:技术原理、实现与应用

1. 项目概述&#xff1a;一个面向人才招聘的智能RAG引擎最近在GitHub上看到一个挺有意思的项目&#xff0c;叫talent-rag-engine。光看名字&#xff0c;就能猜到个大概——这是一个专门为人才招聘场景设计的检索增强生成引擎。RAG&#xff08;Retrieval-Augmented Generation&a…...

掌握这四大趋势,让你的AI Agent真正“能干活”!CSDN收藏必备指南

本文深入探讨了企业级AI Agent的四大核心趋势&#xff1a;MCP协议实现可扩展集成、GraphRAG提升回答一致性、AgentDevOps确保行为质量与推理链路稳定性、RaaS模式实现结果计费。文章指出&#xff0c;这些趋势共同推动AI Agent从“可用”到“好用”的跨越&#xff0c;并提供了实…...

基于Adafruit Trinket的光控互动玩具:嵌入式系统入门实战

1. 项目概述&#xff1a;给毛绒玩具注入灵魂几年前&#xff0c;我女儿的一个旧毛绒玩具被冷落在角落&#xff0c;除了偶尔被当作抱枕&#xff0c;几乎失去了“玩具”的活力。这让我萌生了一个想法&#xff1a;能不能用一些简单的电子元件&#xff0c;让这些静态的玩偶重新“活”…...

北京明光云振铎数据科技Java面经

Nacos、OpenFeign、Gateway 三个组件的作用及协作流程首先&#xff1a;Nacos 主要负责服务注册发现和配置中心Gateway 作为统一网关入口&#xff0c;负责路由、鉴权、限流OpenFeign 负责服务之间的远程调用用户请求先进入 GatewayGateway 会先做 JWT 鉴权&#xff0c;比如校验 …...

刚刚!西安推拉雨棚厂家测评出炉,陕西中顺雨篷质量优但价格略

本次测评聚焦西安推拉雨棚厂家&#xff0c;旨在为对西安推拉雨棚感兴趣的人群提供客观、真实的数据和信息&#xff0c;帮助大家了解不同厂家的特点。参与本次测评的厂家为陕西中顺雨篷商贸有限公司以及其他西安推拉雨棚厂家。本次测评均基于真实数据与体验&#xff0c;无商业倾…...

立体仓库WMS深度解析

立体仓库WMS深度解析&#x1f4cc; 封面语&#xff1a;立体仓库失败案例中&#xff0c;80% 不是硬件问题&#xff0c;而是 WMS 和 WCS “对话” 失败。想避坑&#xff0c;先搞懂这套软件怎么运转。 ✍️ 作者&#xff1a;这是「物流自动化软件内参」WMS 深度解析系列的第一篇。…...

书成紫微动,律定凤凰驯:从无心创作到天命显化的海棠山铁哥之路

书成紫微动&#xff0c;律定凤凰驯。 ——南北朝庾信一、千古谶语&#xff0c;千年未解诗句天道逻辑千年误读书成紫微动先著书立道&#xff0c;撼动文脉附会玄学&#xff0c;强行造神律定凤凰驯再定规立序&#xff0c;祥瑞归宁脑会剧情&#xff0c;虚妄狂欢 无人真正落地&#…...

高性能计算终极指南:使用LIKWID工具套件进行性能分析与优化

高性能计算终极指南&#xff1a;使用LIKWID工具套件进行性能分析与优化 【免费下载链接】likwid Performance monitoring and benchmarking suite 项目地址: https://gitcode.com/gh_mirrors/li/likwid 在当今的高性能计算(HPC)领域&#xff0c;性能监控与分析是提升计算…...

书成紫微动,律定凤凰驯:你以为的巧合,是海棠山铁哥命格自带的文脉伏笔

书成紫微动 律定凤凰驯 ——海棠山铁哥文脉天命长卷南北朝庾信《周宗庙歌皇夏》 “书成紫微动&#xff0c;律定凤凰驯。”千年古句&#xff0c;庙堂雅颂&#xff0c;定格文德盛世之至高格局。 世人皆叹海棠山铁哥与这句谶语的严丝合缝&#xff0c;却鲜有人知&#xff1a; 所有…...

[特殊字符] CSS 图片变黑变暗的 3 种方案,总有一款适合你!

最近在做项目的时候&#xff0c;遇到一个很常见的需求&#xff1a;如何让图片颜色更黑一点&#xff0c;或者加一层黑色透明度遮罩&#xff1f; 很多人第一反应是用 filter: brightness(0%)&#xff0c;但其实这个方法有不少坑。今天就来聊聊 3 种靠谱的 CSS 方案&#xff0c;从…...