Java 中 String 类

本文深入探讨 Java 中 String 类的基础概念,包括其实例化方式、字符串常量池的区别、字符串不可变性的特点,以及如何进行字符串的比较。同时,还详细介绍了 String 类的构造方法和常用方法,如长度获取、内容比较、截取等,并提供了字符串拼接和分割的实际应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一 基础概念

1. String是一个类,属于引用数据类型默认为null , JVM对String类做了一个特殊的处理,可以把String像基本数据类型一样使用使用

2. String 类的两种实例化方式

    (1)直接赋值    String str = "hello";

      (2)  通过构造方法赋值  String str = new String("hello");

    区别:直接赋值 赋值内容会自动进入到字符串常量池,只开辟一块空间

                通过构造方法赋值   不会进入到字符串常量池,开辟两块空间

    如果想要通过构造方法实例化的String进入到字符串常量池则可以手动调用intern方法

     String str2=new String("hello").intern();

    字符串内容就是String类的匿名对象

    字符串的内容是不可改变的

3. 字符串的比较

    ==是比较内存地址

    String 中的 equals()方法是比较字符串内容(Object 类中 equals() 方法比较的还是内存地址,覆写此方法使之比较内容,String类中已覆写)

4.  字符串的内容是不能改变的,改变的是String的引用,如果在程序中大量的产生了字符串拼接操作,则就会大量的产生垃圾空间

    For(int i=0;i<1000000;i++){

          Str+=hello world;

    }

    String类不适合大量的频繁的修改字符串的内容,以后可以使用StringBuffer 或者StirngBuilder类去解决字符串频繁修改的操作

 

二 常用方法

构造方法

1. public String(char value[]); 要求给定一个char数组把char数组变为字符串

2.public String(char value[],int offset,int count)根据指定长度转换字符数组为字符串

3.public String(byte bytes[]) 把byte数组变为字符串

普通方法

1 获取字符串的长度

public int length();

判断字符串的长度是否为空

 public boolean isEmpty()

给定指定索引反回指定索引的字符

给定一个字符串去掉字符串的左右空格

 public char charAt(int index

4 把给定的字符串转换为字节数组

public byte[] getBytes(String charsetName)

字符串内容比较

 public boolean equals(Object anObject);

判断字符串是否以某个字符串开始

  public boolean startsWith(String prefix)

判断字符串是否以某个字符串结尾

public boolean endsWith(String suffix)

7(默认从前往后找)给定指定字符串,反回该字符串的下标位置,如果找不到该字符串反回-1

public int indexOf(String ch)

查找指定字符串,从后往前找反回该字符的下标,找不到返回-1

 public int lastIndexOf(String str)

截取字符串

 public String substring(intbeginIndex);

10 按照范围截取字符缓

public String substring(intbeginIndexintendIndex);

11 把字符串变为字符数组

publicchar[] toCharArray();

 

拓展

 

1 字符串连接:

   字符串连接,String str+=hello 没有区别

    public String concat(String str)

 

2 忽略大小写比较

    equalsIgnoreCase(String str);

 

3 字符串的分割:

    主要针对正则表达式的支持,表达语法

     publicString[] split(String regex);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值