API_常用类

本文介绍了Java中的API概念,详细剖析了Object类的基础知识,包括toString()和equals()方法,以及Arrays类提供的数组操作方法如equals(),copyOf(),fill(),toString()等。此外,还讨论了String类和StringBuilder类的区别,以及Math和Random类的使用。
摘要由CSDN通过智能技术生成

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

API:特指官方给开发人员提供的说明文档,对于语言有哪些类,类中有哪些方法进行说明。

API文档

后续学习即为学习java中提供给我们的类,在类的基础上开发,提高开发效率。

之后将对于java中一个体系进行一个学习。

Object类:

java.lang.Object (包中存储位置)

是java中最顶层的类,

Object 可以表示java中任意的类;

Object类中方法:
toString();

输出一个对象,但是对象在内存中存储,是不能输出的。

当输出一个对象时,就会默认调用此对象的toString(),

如果此类中没有定义toString(),会调用Object中的toString(),

public String toString() {
    return getClass().getName() + "@" + Integer.toHexString(hashCode());
}

== 比较等号两边是否相等,

当==用于基本类型比较时,比较的是变量值是否相等,

当==用于引用类型比较时,比较的是对象的地址是否相同。

equals方法:

Objec类中的equals方法

public boolean equals(Object obj) {
    return (this == obj);
    //默认比较的是两个对象的地址是否相同,我们可以用==代替他。
    //在其他类中一般重写equals(),把他改造为比较对象中的内容是否相等。
}
Arrays类

java.util.Arrays用于操作数组的工具类,用于操作数组的方法。

Arrays类中方法:

equals方法:

比较两个数组内容是否想等

copuOf方法: 数组复制

将原来数组内容复制到一个指定长度的新数组中。

fill方法: 填充,用指定的值将指定数组中的每个元素填充。

toString:将数组中的元素内容拼接为一个字符串输出。

import java.util.Arrays;
public class DomE2 {
    public static void main(String[] args) {
        int []a={1,2,3,4,5};
        int []b={1,2,3,4,5};
        int []c={1,2,3,3,4};
        System.out.println(Arrays.equals(a, b));
        System.out.println(Arrays.equals(a, c));
        System.out.println(Arrays.toString(a));
        int []d={};
        d=Arrays.copyOf(a, 10);
        System.out.println(Arrays.toString(d));
        Arrays.fill(a,6);
        System.out.println(Arrays.toString(a));
    }
}

sort :排序。

将数组从小到大的排序。

binarySearch:二分搜索算法查找指定元素的位置,如果未找到返回负数,找到了返回索引值;再查找前要进行排序。

一个类要进行排序,要实现Compaable接口

要重写一个compareTo的方法。

可以指定排序规则,

可以执行用类中的那个属性进行排序。

在sort()方法的底层调用,来判断大小。

基本数据类型包装类

java中的基本数据类型使用8个关键字声明的,不是面向对象的。

java语言是面向对象的,可以为每个基本类型定义一个类来表示;这样我们在类中还要保持有一个基本数据类型变量存储数据,

同时还可以提供许多方法对变量进行操作。

String类

java.lang.String

java中所有的字符串都是此类的实例

"abc"-->字符串对象.

实质底层是一个char数组。

public final  char value['a','b','c'];

字符串对象的创建方式:

方法1和方法2:

String s ="abc";
        //因为s在创建对象时,“abc”已经在字符串常量池存在 ,
        // 当在创建ss时,需要的内容与s一致,
        // 内容在字符串常量中存在时,不用创建新的对象,直接将“abc”地址也赋给ss;
        String ss="abc";
        System.out.println(s==ss);
//创建了两个对象
        String S1=new String("abc");
        String S2=new String("abc");
       System.out.println(S1==S2);
字符串不变,他们的值在创建后不能被改变。
public class dome1 {
    public static void main(String[] args) {
        //字符串创建后不能改变
        String s="朱石磊";//第一个字符串 地址489
        s+="喜欢吃王天乐";//创建了第二个字符串  地址491
        s+="的肘击和包子";//创建了第三个字符串    地址493
        System.out.println(s);//最终将第三个字符地址赋给s并输出。
    }
}
/构造方法:
/*	
	String()//无参
    String(String s)
    String(byte[] bytes) 把byte数组转为字符串
    s.getbyte();
    String(char[] value)把char数组转为字符串
*/
判断功能:

boolean equals(Objice obj):比较字符串对象内容是否相等

boolean equalIgnoreCase(String str):比较字符串对象内容是否相等,忽略大小写

boolean contains(String str):判断字符串中是否有指定的子串

boolean isEmpty():判断字符串中是否为空串 {""}!={null}

boolean startsWith(String prefix):判断字符串是否以指定的字符串开头

boolean engWith(String suffix):判断字符串是否以指定的字符串结尾

转换功能:

byte[] getBytes() :将字符串转为byte数组

char[] toCharArray() :将字符串转为字符数组

static String valueOf(char[] chs)

static String valueOf(int a)

将传入的参数转为字符串数组

String toLowerCase():将字符串中英文字母,全转为小写

String toUpperCase() :将字符串中英文字母,全转为大写

String concat(String str) 与+=类似,但concat只能加字符串。

拼接指定的字符串内容到原来字符串的末尾处,并返回新的字符串

Stirng[] split(分割符):将一个字符串用指定拆分符,拆成一个字符串数组。

获取功能:

int length():获取字符串长度

char charAt(int index) :通过所给索引,获取字符串索引位置处的字符。

int indexOf(String str):返回指定的字符首次出现的位置,当给出子串时

int indexOf(String str,int fromIndex) :从指定的位置开始查找,返回指定的字符首次出现的位置。

int lastIndexof(String str):从后往前找,返回指定的字符首次出现的位置。

String substring(int start):从指定的开始位置截取一个字符串副本到完

String substring(int start,int end):从指定的开始位置截取一个字符串副本到结束位置(不包含结束位置)

替换功能

【String regex】正则表达式

String replace(char old,char new)

String replace(String old,String new) ;用新内容替换字符串中指定的字符串{精确匹配}

replaceAll(String regex, String replacement) :用新内容替换字符串中正则表达式匹配的字符串{模式匹配}

replaceFirst(String regex, String replacement) :用新内容替换字符串中正则表达式匹配的字符串,只替换第一个。

String trim():去除字符串两端空格()

String Buffer类

是内容可以改变的字符串

char[] value;没有final修饰,每次添加内容都是原数组进行操作,不会创建新的字符串对象。每次都在原数组上直接操作。

String声明的字符串一旦给定就不能改变了,每次拼接都会创建新的字符串对象,耗时。

String Builder类(与String Buffer类类似)

String:值是不可以改变的的字符串,

String Buffer:值可以改变且不需要创建新对象。方法上都加锁,在多线程(任务)执行时是安全的

String Builder:值可以改变且不需要创建新对象。方法上没加锁,在多线程(任务)执行时不安全,适合单线程

Math类/Random类:

Math类里都是静态的科学计算方法,通过类名调用方法。

abs 绝对值

sqrt 平方根

pow(double a, double b) a的b次幂 max(double a, double b)

min(double a, double b)

比较a,b的大小。

random() 返回 0.0 到 1.0 的随机数

long round(double a) double型的数据a转换为long型(四舍五入)

  • 29
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值