java.lang.String类

java.lang.String类

一、前言

​ 简单了解JDK常用的包和类后,开始学习String类,学习思路:

  1. 了解String类的概念
  2. 掌握String类基本的构造器
  3. 理解创建String对象的底层区别
  4. 掌握String类基本的常用方法

二、String类的概念

​ String类代表字符串,字符串是常量,他们的值创建之后不能更改。

java.lang.String:

public final class String
    implements java.io.Serializable,Comparable<String>,CharSequence{
  • final修饰符:类被final修饰符修饰,所以String类不能被继承,也代表不可变的字符序列(这点目前还不能完全理解,先将其写好);
  • Serializable接口:表示字符串是支持序列化的;(据说等到学到IO流的时候即可理解。。)
  • Comparable接口:表示String可以比较大小;

三、String类的构造方法

1.String类常用的构造方法

​ 熟练掌握几种String类常用的构造器,剩余可看API;(先掌握一些基础常用的)

String str = "hello";
	初始化一个新创建的 String 对象"hello";

String s1 = new String(hello);
	new一个String对象"hello";

String s1 = new String(char[] a);
	new一个String对象,内容为char[] a;

String s1 = new String(char[] a,int startIndex,int count);
	new一个String对象char[] a,从索引startIndex出开始截取,长度为count;

2.创建String对象的两种区别

​ 理解创建String对象后一些基础的底层逻辑

  • 直接赋值方式创建对象

​ 直接赋值方式创建对象是在方法区的常量池

  • 通过构造方法创建字符串对象

​ 通过构造方法创建字符串对象是在堆内存

例:

public class TestString {
    public static void main(String[] args) {
        String str1 = "Lance";
        String str2 = new String("Lance");
        String str3 = str2; //引用传递,str3直接指向st2的堆内存地址
        String str4 = "Lance";
       
        System.out.println(str1==str2);//false
        System.out.println(str1==str3);//false
        System.out.println(str3==str2);//true
        System.out.println(str1==str4);//true
    }
}

四、String类的常用方法

​ 熟练掌握一些String类常用的方法,剩余可看API;

1.String的判断功能

boolean equals(Object obj): 重写的equals方法,比较字符串的内容是否相同
boolean equalsIgnoreCase(String str): 比较字符串的内容是否相同,忽略大小写
boolean startsWith(String str): 判断字符串对象是否以指定的str开头
boolean endsWith(String str): 判断字符串对象是否以指定的str结尾

2.String类的获取功能

int length(): 获取字符串的长度,其实也就是字符个数
char charAt(int index): 获取指定索引处的字符
int indexOf(String str): 获取str在字符串对象中第一次出现的索引,输入为首位s的索引值
String substring(int start): 从start开始截取字符串
String substring(int start,int end): 从start开始,到end结束截取字符串。包括start,不包括end

3.String的转换功能

char[] toCharArray(): 把字符串转换为字符数组
String toLowerCase(): 把字符串转换为小写字符串
String toUpperCase(): 把字符串转换为大写字符串(使用默认字符集进行编码)
byte[] getBytes():把字符串转换为字节数组(Arrays.toString()查看)

4.其他常用方法

String trim(): 去除字符串两端空格
String[] split(String str): 按照字符串中其有的指定符号分割字符串,存于数组
String intern():将String对象放入常量池中
posted @   morrowday  阅读(69)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示