当前位置: 首页 > 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;并赋予…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言&#xff1a;多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时&#xff0c;​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套&#xff1a;跨云网络构建数据…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业&#xff0c;其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进&#xff0c;需提前预防假检、错检、漏检&#xff0c;推动智慧生产运维系统数据的流动和现场赋能应用。同时&#xff0c;…...

Python爬虫实战:研究feedparser库相关技术

1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块&#xff0c;它提供了一个轻量级的 HTTP 服务器实现&#xff0c;主要用于构建基于 HTTP 的应用程序和服务。 功能介绍&#xff1a; 主要功能 HTTP服务器功能&#xff1a; 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

均衡后的SNRSINR

本文主要摘自参考文献中的前两篇&#xff0c;相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程&#xff0c;其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt​ 根发送天线&#xff0c; n r n_r nr​ 根接收天线的 MIMO 系…...

USB Over IP专用硬件的5个特点

USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中&#xff0c;从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备&#xff08;如专用硬件设备&#xff09;&#xff0c;从而消除了直接物理连接的需要。USB over IP的…...

Python训练营-Day26-函数专题1:函数定义与参数

题目1&#xff1a;计算圆的面积 任务&#xff1a; 编写一个名为 calculate_circle_area 的函数&#xff0c;该函数接收圆的半径 radius 作为参数&#xff0c;并返回圆的面积。圆的面积 π * radius (可以使用 math.pi 作为 π 的值)要求&#xff1a;函数接收一个位置参数 radi…...