API(Application Programming Interface,应用程序编程接口)是Java写好的技术(功能代码),可以被使用者直接调用。
String简单介绍:String类定义的变量可以用于存储字符串,同时String类提供了很多操作字符串的功能。
ArrayList简单介绍:ArrayList代表集合类,集合是一种容器,与数组类似,不同的是集合的大小是不固定的。通过创建ArrayList的对象表示得到一个集合容器,同时ArrayList提供了比数组更好用,更丰富的API(功能)给程序员使用。
String概述:java.lang.String类代表字符串,String类定义的变量可以用于指向字符串对象,然后操作该字符串。Java程序中所有字符串文字(例如:”abc“)都为此类的对象。
String类的特点详解
String其实常被称为不可变字符串类型,它的对象在创建后不能被更改。
字符串对象存在哪里?以”“方式给出的字符串对象,在字符串常量池中存储。
通过运算得到的字符串会放到堆内存中与字符串常量池区别,不过变量名还是存放地址,不改变原来的对象,而是指向运算后的字符串对象的地址。
String是字符串类型,可以定义字符串变量指向字符串对象。
String是不可变字符串的原因?String变量每次的修改其实都是产生并指向了新的字符串对象;原来的字符串对象都是没有改变的,所以称为不可变字符串。
创建字符串对象的两种方式
方式一:直接使用”“定义。(推荐方式)
String name=”hello“;
方式二:通过String类的构造器创建对象
public String():创建一个空白字符串对象,不含有任何内容
public String(String original):根据传入的字符串对象,来创建字符串对象
public String(char[] chs):根据字符数组的内容,来创建字符串对象
public String(byte[] chs):根据字节数组的内容来创建字符串对象
字符串对象的特点有哪些?
双引号创建的字符串对象,在字符串常量池中存储同一个;通过new构造器创建的字符串对象,在堆内存中分开存储。
Java存在编译优化机制,程序在编译时:“a”+“b”+“c”会直接转成“abc”
String类常用API
字符串内容的比较不适合使用“==”号比较,推荐使用String类提供的“equals”比较:只关心内容一样即可。
开发中什么时候使用==比较数据:基本数据类型比较时使用。
String常用的API
public int length():返回此字符串的长度
public char charAt(int index):获取某个索引位置处的字符
public char[] toCharArray():将当前字符串转换成字符数组返回
public String substring(int beginIndex,int endIndex):根据开始和结束索引进行截取,得到新的字符串(包前不包后)
public String substring(int beginIndex):从传入的索引处截取,截取到末尾,得到新的字符串。
public String replace(CharSequence target,CharSequence replacement):使用新值,将字符串中的旧值替换,得到新的字符串。
public String[] split(String regex):根据传入的规则切割字符串,得到字符串数组返回。
集合是与数组类似,也是一种容器,用于装数据的
数组的特点:数组定义完成并启动后,类型确定、长度固定。在个数不能确定,且要进行增删数据操作的时候,数组是不太合适的。
集合的大小不固定,启动后可以动态变化,类型也可以选择不固定
集合非常适合做元素个数不确定,且要进行增删操作的业务场景。集合提供了许多丰富、好用的功能,而数组的功能很单一。
数组定义后类型确定,长度固定;集合类型可以不固定,大小是可变的。
数组适合数据个数和类型确定的场景;集合适合做数据个数不确定,且要做增删元素的场景。
ArrayList集合:ArrayList是集合中的一种,它支持索引。
ArrayList集合的对象获取
public ArrayList():创建一个空的集合对象
ArrayList集合添加元素的方法
public boolean add(E e):将指定的元素追加到此集合的末尾。
public void add(int index,E element):在此集合的指定位置插入指定的元素
ArrayList对于泛型的支持
泛型概述
ArrayList<E>:其实就是一个泛型类,可以在编译阶段约束集合对象只能操作某种数据类型。
ArrayList<String>:此集合只能操作字符串类型的元素
ArrayList<Integer>:此集合只能操作整数类型的元素
集合中只能存储引用类型,不支持基本数据类型
ArrayList集合常用方法
public E get(int index):返回指定索引处的元素
public int size():返回集合中的元素的个数
public E remove(int index):删除指定索引处的元素,返回被删除的元素
public boolean remove(Object o):删除指定的元素,返回删除是否成功
public E set(int index,E element):修改指定索引处的元素,返回被修改的元素