字符串

1.API
API(Application Programming Interface):应用程序编程接口
Java API:指的是JDK中提供各种功能的Java类
API练习:按照帮助文档的使用步骤学习Scanner类的使用,并实现键盘录入一个字符串,最后输出在控制台
注意:在调用方法的时候,如果方法有返回值,我们用变量接收可以手动完成,也可以使用快捷键的方式完成(Ctrl+Alt+V)
2.String
String类在java.lang包下,所以使用的时候不需要导包
String类代表字符串,Java程序中的所有字符串文字(例如“abc”)都被实现为此类的实例
也就是说,Java程序中所有的双引号字符串,都是String类的对象

字符串的特点
字符串不可变,它们的值在创建后不能更改
虽然String的值是不可更改的,但是它们可以被共享
字符串效果上相当于字符数组(char[]),但是底层原理是字节数组(byte[])

String的构造方法
public String() 创建一个空白字符串对象,不包含任何内容
public String(char[] chs) 根据字符数组的内容,来创建字符串对象
public String(byte[] bys) 根据字节数组的内容,来创建字符串对象
String s = "abc" ;直接赋值的方式创建字符串对象,内容就是abc

推荐使用直接赋值的方法

String对象的特点
通过new创建的字符串对象,每一次new都会申请一个内存空间,虽然内容相同,但是地址值不同
以""方式直接创建的字符串,只要字符序列相同(顺序和大小写),无论代码中出现几次,JVM都只会创建一个String对象,并在字符串池中进行维护

字符串的比较
使用==做比较
基本类型:比较的是数据值是否相同
引用类型:比较的是地址值是否相同

字符串对象,它比较内容是否相同,是通过一个方法来实现的,这个方法叫equals(),这是String重写了Object的equals方法

public boolean equals(Object anObject):将字符串与指定对象进行比较。由于我们比较的是字符串对象
,所以参数之间传递一个字符串

遍历字符串

for(int i=0;i<s.length();i++){
    s.charAt(i);//就是指定索引处的字符串值
}

说明:
数组用.length获取数组长度,字符串用.length()获取字符串长度
.charAt(int index):返回指定索引处的char值,索引也是从0开始的


StringBuider

StringBuider概述
如果对字符串进行拼接操作,每次拼接,都会构建一个新的Stirng对象,既耗时,有浪费内存空间,而这种操作还无法避免。在Java中可以使用StringBuider类来解决这一问题

构造方法
StringBuilder​() 构造一个没有字符的字符串构建器,初始容量为16个字符。
StringBuilder​(String str) 构造一个初始化为指定字符串内容的字符串构建器。

StringBuilder的添加和反转方法
StringBuilder.apend(任意类型) 添加数据并返回对象本身
StringBuilder.reserve() 返回相反的序列

StringBuilder和String相互转换
StringBuilder转换String
public String toString():通过toString()就可以实现把StringBuilder转换为String
String转换 StringBuilder
public StringBuilder(String s):通过构造方法就可以实现把String转换为StringBuilder

String和StringBuider区别
String内容是不可变的
StringBuider内容是可变的

原文地址:https://www.cnblogs.com/yonggang/p/15036988.html