API
application pragramming interface
应用程序编程接口
除java.lang包以外,其他包中的类在使用时需要导入
建包
package com.abc.javabean;
导包格式,import 包名.类名
API使用技巧
1,先看关键字
2,看参数列表
3,看返回值类型
String
封装字符串和处理字符串的类
字符串对象
对象内容不可改变,只会创建新的对象放在堆内存中
可以直接使用""创建
用双引号直接创建的字符串对象会存储在堆内存中的字符串常量池
也可以使用构造器
会直接在堆内存中创建对象
字符串对象拼接
自动调用StringBuilder类进行拼接,再使用append()方法创建一个新的字符串对象
注:没有变量参与运算时不会调用StringBuilder
eg:String s = “a”+“b”+“c”//常量优化机制
构造器:
1,String()空参构造
创建一个空白的字符串对象
2,String(String str)
创建一个传入的字符串对象
3,String(char[] chars)
根据字符数组的内容创建字符串对象
4,String(byte[] bytes)
根据字节数组的内容创建字符串对象
String类自带的方法
int length()获取长度
char charAt(int index)获取对应索引处的字符
char[] toCharArray()将字符串转换成字符数组返回
boolean equals(object obj)判断是否和另一个字符串的内容一样
equalsIgnoreCase(String anotherString)同上,忽略大小写
String substring(int beginindex,int endindex)根据开始和结束截取字符串,左闭右开
substring(int beginindex)从索引开始截取到末尾,返回新的字符串
String replace(A,B)用B替换A
boolean contains(S)判断是否包含S
boolean startsWith(String s)判断是否以某个字符串开头
String split()根据正则表达式切割成字符串数组
String类对象特点
1,String类对象内容不可改变
2,用引号方式写出的字符串对象,会存储至字符串常量池,相同内容的字符串只会被存储一次
3,用new方式创建的字符串对象,每次都会在堆内存中开辟一个新的空间
String类对象的底层原理
以""方式写出的字符串对象,在堆内存中的字符串常量池中存储
改变字符串对象其实是产生了新的字符串对象指向新的字符串常量
以new方式创建的字符串对象,指向堆内存中不同的空间
ArrayList
集合
长度可变,底层为数组结构
使用泛型规定集合内元素数据类型
泛型内只能为引用数据类型
集合的打印
打印出来为集合内元素
构造器
空参构造
ArrayList arr = new ArrayList<>()
常用方法
boolean add(E e)加到末尾,一定返回true
void add(int index,E element)在指定位置添加
get(int index)返回索引处元素
int size()返回集合中元素的个数
E remove(int index)删除指定索引处的元素,返回被删除的元素
boolean remove(obj o)删除指定元素,返回删除是否成功
E set(int index,E element)修改索引处元素,返回被修改元素
StringBuilder
一个操作字符串的容器,其中装有可以改变的字符串.
比String更适合字符串的频繁修改,效率更高
构造器
空参构造:创建一个空白的可变字符串对象
带参构造(String str):创建一个对应字符串内容的对象
方法
StringBuilder类型以下简称sb类型
sb append(E)
sb reverse()
int length()
String toString()
包装类
一种用于将基本数据类型转换成引用数据类型的类
基本数据类型不是对象,不能直接参与面向对象的操作,也不能填入泛型
所有有对应的包装类
当需要使用引用数据类型但填入的是基本数据类型时会发生自动装箱
当对包装类赋值基本数据类型时会自动拆箱
以Integer为例
自动装箱的原理
Integer i = 10;
Interger i = Integer.valueof(10);
自动拆箱的原理
int a = new Interger(10);
int a = new Integer(10).intValue();
byte->Byte
short->Short
int->Integer
long->Long
float->Float
double->Double
char->Character
boolean->Boolean
字符串和基本数据类型的转换
以int为例
int->String
String str = Integer.toString(num)
String->int
int num = Integer.parseInt(str)
Object
所有类的父类,所有类都间接或者直接地继承Object类
toString():
返回对象的字符串表示,一般情况下,返回对象的类名和哈希码的十六进制表示,格式为"@类名@Hashcode",通过重写toString方法可以返回更符合需求的字符串表示
equals(Object obj):
判断两个对象的地址值是否相等