当前位置: 首页 > 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));}
}

http://www.lryc.cn/news/305971.html

相关文章:

  • 在 where子句中使用子查询(二)
  • TongWEB(东方通),部署WEB前后端项目步骤
  • Vue中如何使用dayjs
  • 数据库-MySQL
  • C语言每日一题(61)盛最多水的容器
  • uni-app 经验分享,从入门到离职(四)——页面栈以及页面跳转的 API(开发经验总结)
  • Go Module常用命令
  • ubuntu压缩和解压
  • 华为HCIP Datacom H12-831 卷24
  • react + Typescript 中 react有多少内置的类型 分别是什么
  • harbor(docker仓库)仓库部署 - 高可用
  • 题目 1262: 邮局选址问题
  • 内核内存回收关键隐藏变量之page引用计数
  • 数据结构---链表的基本操作
  • 异步框架Celery在Django中的运用
  • YOLOv5代码解读[02] models/yolov5l.yaml文件解析
  • 智能搬运机器人|海格里斯将如何持续推进工业和物流的智能化升级与发展?
  • linux之前后端项目部署与发布
  • Python 高级语法:一切皆对象
  • python jupyter notebook打开页面方便使用
  • 音视频开发之旅(69)-SD图生图
  • 數據集成平台:datax將hive數據步到mysql(全部列和指定列)
  • pikachu靶场-File Inclusion
  • [今天跟AI聊聊职场] ~你能接受你的直接领导能力不如你,年纪还比你小很多吗?
  • 网络原理TCP之“三次握手“
  • 990-03产品经理与程序员:什么是 IT 与业务协调以及为什么它很重要?
  • Java Web(七)__Tomcat(二)
  • 【项目实战】帮美女老师做一个点名小程序(Python tkinter)
  • Elasticsearch 去重后求和
  • 考研数学——高数:函数与极限(3)