(Application Programming Interface)应用程序编程接口
API: 指的就是官方给开发人员提供的一个说明文档,对语言有哪些类,类中有哪些方法进行说明.
Object类
java.lang.Object
是java类体系结构中最顶层的类
Object可以表示java中任意的类.
Object类中方法:
toString()
输出一个对象,但对象在内存中存储,是不能输出的,当输出一个对象时,会默认调用此对象的toString(),如果类中没有定义toString(),会调用Object类中toString(),Object类中toString(),是把对象在内存的哈希值返回(以16进制返回)
我们自己类可以对Object类中的toString()进行重写,后面调用时,就调用我们自己类中的toString()
equals(Object obj)
Arrays类
java.util.Arrays类用于操作数组工具类,里面定义了常见操作数组的静态方法
Arrays类中方法:
比较:equals(type[]a,type[]a1)
排序:sort(type[] a)
自定义对象排序 自定义类实现Comparable接口 重写compareTo方法
二分查找:binarySearch(type[] a, type key)
数组复制:copyOf(int[] a, int newLength)
toString(type[] a)
基本数据类型包装类
自动拆箱:把引用类型 转为 基本类型
自动拆箱 会默认自动的调用intValue()方法
自动装箱:把基本类型 转为 引用类型
自动装箱时,会默认自动调用valueOf()方法
在valueof()中如果比较的基本数据值在-128 — 127之间,会从缓存数组中直接取出一个Integer对象,减少创建次数
如果两个值相同,获取的是同一个对象
基本类型值如果不在-128 — 127区间,每次都创建一个新Integer对象返回
String类
java.lang.String
java中所有字符串都是此类的实例
"abc"-->字符串对象 底层是一个char数组 private final char value[]; 字符串对象创建方
1.String s = "abc";
创建时,先去字符串常量池查找有没有相同值的对象,如果没有,就创建一个字符串对象,并返回地址 如果字符串常量中已存储,不用创建新的,直接返回已存在对象的地址
2.String s1 = new String("abc");
new 每次都是在堆中创建新的字符串对象
构造方法
String()
String(String s)
String(byte[] bytes) 把字符数组转为字符串 getbytes()
String(char[] chars) 把char数组转为字符串 toCharArray()
判断功能
boolean equals(Object obj) 比较字符串对象中内容是否相等
boolean equalsIgnoreCase(String str) 比较字符串对象中内容是否相等 忽略大小写
boolean contains(String str) 判断字符串中是否包含指定的子串
boolean isEmpty() 判断字符串值是否为""
boolean startsWith(String prefix) 判断是否以指定的字符串开头
boolean endsWith(String suffix) 判断是否以指定的字符串结尾
获取功能
int length() 获取字符串长度
char charAt(int index) 获取指定位置上的字符
int indexOf(String str) 返回的指定字符首次出现的位置
int indexOf(String str,int fromIndex) 从指定的位置开始查找,返回的指定字符首次出现的位置
int lastIndexOf() 从后向前查找,返回的指定字符串首次出现的位置
String substring(int start) 从指定的开始位置开始截取一个字符串副本到完
String substring(int start,int end) 从指定的开始位置开始截取一个字符串副本到到指定位置(不包含结束位置)
转换功能
byte[] getBytes() 把字符数组转为字符串
char[] toCharArray() 把char数组转为字符串
static String valueOf(char[] chs)
String toLowerCase() 将英文字母转为小写
String toUpperCase() 将英文字母转为小写
String concat(String str) 拼接指定的字符串内容到原字符串末尾 返回一个新的字符串对象
Stirng[] split(分割符) 将一个字符串用指定的分隔符拆分成一个字符串数组
替换功能
String replace(char old,char new)
String replace(String old,String new) 用新内容替换字符串中指定的字符串
replaceAll(String regex, String replacement) 用新内容替换字符串中正则表达式匹配的字符串
replaceFirst(String regex, String replacement) 用新内容替换字符串中正则表达式匹配的字符串 只替换第一个 String trim()去除字符串两空格
StringBuffer是内容可以改变的字符串对象 char[] value;
没有使用final修饰,每次添加内容都是对此数组进行操作,不会创建新的字符串对象
String、StringBuffer、StringBuilder的区别:
String:是一个值不可以改变的字符串
StringBuffer:值可以改变且不需要创造新对象,方法上都加了锁,是在多线程(任务)执行时是线程安全的
StringBuilder:值可以改变且不需要创造新对象,由于方法上都没有加锁,在多线程(任务)执行时是线程不安全的,适合多线程
Math类
java.lang.Math提供了一系列静态方法用于科学计算;其方法的参数和 返回值类型一般为double型。
abs 绝对值
sqrt 平方根
pow(double a, double b) a的b次幂
max(double a, double b) 求两个数的最大值
min(double a, double b) 求两个数的最小值
Random类
用于产生随机数