Java_String&ArrayList
String
String类概述
String 概述
- java.lang.String 类代表字符串,String类定义的变量可以用于指向字符串对象,然后操作该字符串。
- Java 程序中的所有字符串文字(例如“abc”)都为此类的对象。
String name = "小黑";
String类的特点详解
- String其实常被称为不可变字符串类型,它的对象在创建后不能被更改。
字符串对象存在哪里?
- 以 “ ” 方式给出的字符串对象,在字符串常量池中存储。
String类创建对象的两种方式
方式一:直接使用 “ ” 定义。(推荐方式)
String name = "hello";
方式二:通过String类的构造器创建对象。
构造器 说明 public String() 创建一个空白字符串对象,不含有任何内容 public String(String original) 根据传入的字符串内容,来创建字符串对象 public String(char[] chs) 根据字符数组的内容,来创建字符串对象 public String(byte[] chs) 根据字节数组的内容,来创建字符串对象 有何区别
- 以“ ”方式给出的字符串对象,在字符串常量池中存储,而且相同内容只会在其中存储一份。
- 通过构造器new对象,每new一次都会产生一个新对象,放在堆内存中。
String s1 = "abc"; String s2 = "abc"; System.out.println(s1 == s2); // true char[] chs = {'a', 'b', 'c'}; String s3 = new String(chs); String s4 = new String(chs); System.out.println(s3 == s4); // false
String常见面试题
public class Test2 { public static void main(String[] args) { String s2 = new String("abc");//此处创建了两个对象 String s1 = "abc"; System.out.println(s1 == s2);//false } }
public class Test3 { public static void main(String[] args) { String s1 = "abc"; String s2 = "ab"; String s3 = s2 + "c"; System.out.println(s1 == s3);//false } } public class Test4 { public static void main(String[] args) { String s1 = "abc"; String s2 = "a" + "b" + "c"; System.out.println(s1 == s2);//true //因为java存在编译优化机制,"a" + "b" + "c"在编译时会转成"abc" } }
String类常用API
字符串内容比较
- 推荐使用String类提供的“equals”比较:只关心内容一样即可
方法名 说明 public boolean equals (Object anObject) 将此字符串与指定对象进行比较。只关心字符内容是否一致! public boolean equalsIgnoreCase (String anotherString) 将此字符串与指定对象进行比较,忽略大小写比较字符串。只关心字符内容是否一致! 遍历,替换,截取,分割操作
方法名 说明 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集合
- ArrayList是集合的一种,它支持索引。
ArrayList集合的对象获取
构造器 说明 public ArrayList() 创建一个空的集合对象 ArrayList集合添加元素的方法
方法名 说明 public boolean add(E e) 将指定的元素追加到此集合的末尾 public void add(int index,E element) 在此集合中的指定位置插入指定的元素
ArrayList对于泛型的支持
泛型概述:
- ArrayList
:其实就是一个泛型类,可以在编译阶段约束集合对象只能操作某种数据类型。 举例:
- ArrayList
:此集合只能操作字符串类型的元素。 - ArrayList
:此集合只能操作整数类型的元素。 注意:集合中只能存储引用类型,不支持基本数据类型。
ArrayList常用API、遍历
标签:Java,String,int,ArrayList,集合,字符串,public From: https://www.cnblogs.com/zhangj9/p/16627601.html
方法名称 说明 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) 修改指定索引处的元素,返回被修改的元素