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

Java常用API(一)

API(Application Programming Interface)即:应用程序接口

概述:API就是在开发中Java为我们提供的各种类的接口,Java已经预先定义好了,目的就是为了给我们开发人员提供便捷。

目录

Object类

1.toString

2.equals

Arrays类

1.equals

2.sort

3.binarySearch

4.copyOf

5.fill

6.toString


Object类

Object类时所有的Java类的祖先(根基类)。

每一个类都使用Object类作为超类(父级)。

所有对象(包括数组)都继承实现这个类的方法。

所有的类在声明时如果没有使用extends关键字都会默认继承Object类

public class Person{
.....
}
//等价于
public class Person extends Object{
....
}

我们先来简单的说明一下Object类中的方法,我再来给大家写出具体的实现方式和注意事项

1.toString

toString返回值是String类型,可以以字符串的形式描述当前对象的有关信息,当我们需要通过字符串来具体输出一个对象的成员时我们可以使用toString来实现。

package demo;public class ToStringDemo {private int age;private String name;//我们创建一个构造age和name的方法,补充类public ToStringDemo(int age,String name){this.age = age;this.name = name;}
}package demo;public class ToStringDemoTast {public static void main(String[] args) {//创建ToString实例,并使用Object类toString来打印出类的具体信息ToStringDemo toStringDemo = new ToStringDemo(20, "张三");System.out.println(toStringDemo.toString());}
}

我们可以看到,我们的ToStringDemo中的类没有定义toString方法,但是我们还是可以使用,就是因为我们继承了Object类,使用的是Object类中的方法,但是它输出的结果并不符合我们的预期,我们可以看到,编译器输出的是一个地址和一段16进制数,马上我们按住ctrl键点击这个方法就能明白:

Object类中定义的就是得到类名加他的哈希地址,这并不是我们想看到的,所以我们要想输出我们想要的对象的具体内容就需要我们对Object类中的方法进行重写。

package demo;public class ToStringDemo {private int age;private String name;//我们创建一个构造age和name的方法,补充类public ToStringDemo(int age,String name){this.age = age;this.name = name;}@Overridepublic String toString() {String s = "age = "+age+"  name = "+name;return s;}
}

我们可以看到,得到了我们想要的对象的具体内容

2.equals

equals方法,我们使用equals方法来表示两个成员变量是否相等,可以比较字符串也可以比较数字,他返回的是boolean类型的值,而我们知道,还有一个符号”==“号也可以比较两个变量是否相等,那么他们的区别是什么呢?既然有了“==”号我们为什么还要用equals方法呢?

其实,“==”号并不是用来检测两个变量是否相等,他只是比较了变量的地址是否相等,下面我们来用一个特例来演示一下看看结果如何:

运行结果如下:

我们可以看到:虽然变量的内容相等但是输出结果却是不相等

我们这是因为“==”判断的是两个变量的地址是否相等,我们创建了两个Sting类型的变量,自然地址是不相等的

我们来看一下object类中的equals是怎么写的:

可以看到是直接用的简单粗暴的双等号,这样写肯定会引发一系列问题,所以就需要我们继承obje方法后对equals方法进行重写,我们来看一下Sting类里面进行修改后的equals的表现

我们修改一下代码,通过equals来比较一下

得到的运行结果:

这是因为equals内部是比较变量内部的值是否相等。

下面我们来按住ctrl键点击equals方法来分析一下他的源代码:

       

Arrays类

1.equals

和Sting类相同,Arrays也对object类中的equals方法进行了重写,实现了比较两个数组是否相等的功能,我们来进入看一下他的代码实现:

输出结果:

我们点击equals查看分析一下源码:

2.sort

对数组进行排序

sort()对指定数组进行排序

内部有两个变量:

fromIndex开始位置
toIndex结束位置

如果我们没有为排序添加开始和结束位置就是默认全部排序。

排序不包括结束位置,下面代码来演示一下

可以看到第二个数组只把前四个数排序了

3.binarySearch

二分查找,二分查找是一种非常简洁且快速的查找方式,它可以大大减少我们查找的时间

相信你看完代码之后会发现一个问题,二分查找似乎只适用于纯数字的数组,而且数组的数字还是要排序好的,所以我们需要先调用前面我们调用的sort方法先给数组排序再进行使用:

运行结果:

4.copyOf

数组复制,将指定数组中的元素复制到一个指定长度的新数组中,并返回新数组.
我们需要向方法中传入一个数组,并给他一个初始长度,下面我们来看示例代码:

5.fill

将指定的int值分配给指定的int数组的每个元素。

6.toString

返回指定数组内容的字符串表示形式
http://www.dtcms.com/a/545151.html

相关文章:

  • 帮别人建设网站贵阳网站建设哪家好方舟
  • (huawei)43. 字符串相乘
  • (huawei)5.最长回文子串
  • 跨厂商(华为 H3C)防火墙 IPSec 隧道部署
  • 在nestjs中集成jwt校验
  • 环球资源网商务网站建设目的自己怎么做网页推广
  • (第三篇)Spring AI 基础入门:PromptTemplate 与对话工程实战(从字符串拼接到底层模板引擎的进阶之路)
  • les做ml网站template是什么意思
  • Node.js环境变量配置实战:安全高效开发指南
  • 了解学习Keepalived双机热备
  • 欧美网站建设教程seo排名优化点击软件有哪些
  • 如何通过网站标题找网站百度做公司网站
  • STL容器string的模拟实现
  • X-AnyLabeling 开启 ultralytics GPU训练模式
  • Linux进程:进程状态
  • 网站建设之婚礼摄影网站设计ppt模板免费下载 素材学生版
  • 用html5做手机网站北京在建项目查询
  • Go语言设计模式:适配器模式详解
  • 电商食品网站建设南宁网红打卡
  • C 文件读写
  • 如何获取npm的认证令牌token
  • freeRTOS学习笔记(十二)--信号量
  • BLIP 系列全解析与深度面经:从视觉语言统一到跨模态对齐的演进
  • TCP 和 UDP 的核心区别:从原理到场景的全面解析
  • 做外贸网站基本流程wordpress d8 4.1
  • Backend - HTTP请求的常用返回类型(asp .net core MVC)
  • 国内最大的网站制作公司免费创建属于自己的网站
  • [人工智能-大模型-103]:模型层 - M个神经元组成的单层神经网络的本质
  • 【面试题】缓存先删后写如何避免窗口期的旧数据写入缓存
  • 扩展名网站最新新闻事件摘抄