[Java笔记6] String和ArrayList

目录

String

String类创建对象的两种方式和区别

字符串内容比较(equlas方法)

String常用API​

ArrayList

创建集合对象、添加元素

ArrayList泛型使用

ArrayList常用方法


视频教程传送门 -> https://www.bilibili.com/video/BV1Cv411372m?p=77

String

java.lang.String 类代表字符串

String的对象在创建后不能被更改
String变量每次的修改其实都是产生并指向了新的字符串对象,原来的字符串对象都是没有改变的

 API文档

String类创建对象的两种方式和区别

方式一:直接使用""定义(推荐方式)

              => 在字符串常量池(位于堆内存)中存储,而且相同内容只会在其中存储一份。

方式二:通过String类的构造器创建对象

              => 每new一次都会产生一个新对象,放在堆内存中。

构造器 说明
public String()

创建一个空白字符串对象,不含有任何内容

String s1 = new String();

public String(String original)

根据传入的字符串内容,来创建字符串对象(几乎不用)

String s2 = new String("abc");

public String(char[] chs)

根据字符数组的内容,来创建字符串对象

char[] chars = {'a' , 'b' , 'c'};
String s3 = new String(chars);

public String(byte[] chs)

根据字节数组的内容,来创建字符串对象

byte[] bytes = {97, 98, 99};
String s4 = new String(bytes);


 

方式一创建字符串内存图

 方式二创建字符串内存图

 字符串是否相等比较的是地址

字符串内容比较(equlas方法)

使用String提供的equlas方法 => 内容一样返回true

public boolean equals (Object anObject) -> 将此字符串与指定对象进行内容比较
public boolean equalsIgnoreCase (String anotherString) -> 同上,忽略大小写,eg:验证码

String常用API

 【例】charAt(int index) 应用,生成验证码

package com.test.string;

import java.util.Random;

/**
    使用String完成随机生成5位的验证码。
 */
public class VerificationCode {
    public static void main(String[] args) {
        // 1、定义可能出现的字符信息
        String datas = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
        
        // 2、循环5次,每次生成一个随机的索引,提取对应的字符连接起来即可
        String code = "";
        Random r = new Random();
        for (int i = 0; i < 5; i++) {
            // 随机一个索引
            int index = r.nextInt(datas.length());
            char c = datas.charAt(index);
            code += c;
        }

        // 3、输出字符串变量即可
        System.out.println(code);
    }
}


ArrayList

数组定义后类型确定、长度固定 => 适合做数据个数和类型确定的场景
集合类型可以不固定、大小可变 => 适合做数据个数不确定,且要做增删元素的场景

创建集合对象、添加元素

构造器  public ArrayList() 
ArrayList list = new ArrayList();

方法
public boolean add(E e)  -> 将指定的元素追加到此集合的末尾 list.add(6)
public void add(int index,E element)  -> 在此集合中的指定位置插入指定的元素 list.add(2,'water')

ArrayList泛型使用

ArrayList<E> 是一个泛型类 => 可以在编译阶段约束集合对象只能操作某种数据类型。
eg:
ArrayList<String> :此集合只能操作字符串类型的元素。
ArrayList<Integer>:此集合只能操作整数类型的元素。
注意:不能用Int要用Integer,因为集合中只能存储引用类型,不支持基本数据类型。

ArrayList常用方法

猜你喜欢

转载自blog.csdn.net/wy_hhxx/article/details/121390750