JAVA学习: String类字符串的相关操作

本文介绍了Java中String类的特性(不可变性),以及StringBuilder的使用以提高字符串拼接效率。比较了length()和length的区别,并探讨了动态字符串数组和字符串常量池的概念。
摘要由CSDN通过智能技术生成

1.String类

  • String字符串不可变,内部存放的是指向字符常量池的字符串的引用,并不存放字符串本身。
  • 创建字符串:

        

  • 判断是否相等:str1.equals(String); 

  • 裁切字符串:str1.substring(begin, end);

  • 获取字符:str1.charAt(0index);

  • 格式化字符串:

  • 查找字串:str1.indexOf("dfe");

         找到返回第一次出现的下标,没找到返回-1。

  • 分割字符串:

    String se=sc.nextLine();
    //获取一行
    String []s=se.split("\\s+");
    //忽略空格分隔字符串,返回一个string数组

2.StringBuilder类

  •  Java的字符串是不可修改的,遇到字符串的拼接会生成大量对象,防止生产无用对象,使用StringBuider类。

  • 创建对象:StringBuilder str =new StringBuilder(10);//指定初始容量10.

  • 添加元素:str.append(E);

  • 删除元素:str.delete(begin,end);

  • 插入元素:str.insert(index,E);

  • 例:

    import java.util.Scanner;
    public class Main{
        public static void main(String []args){
            Scanner sc=new Scanner(System.in);
            while(sc.hasNextInt()){
                int n=sc.nextInt();
                StringBuilder str =new StringBuilder(10);
                for(int i=0;i<n;i++){
                    str.append(i);
                }
                int begin=sc.nextInt();
                int end=sc.nextInt();
                System.out.println(str.substring(begin, end));
            }
        }
    }

3.length()和length的区别 

  • length是字符串数组求元素个数的值。

  • length()是字符串求长度所用的方法。

  • 例:

      

 4.动态字符串数组

  • 创建数组:ArrayList<String> s=new ArrayList<>();

  • 判断是否包含字符串:s.contains(E);

  • 例:

     

5.字符串常量池 

        字符串常量池是堆中的一块存储区域,用于存放字符串的内容本身。当创建String对象=“x"时,会检查字符串常量池中是否有该常量对象"x",有则返回一个引用存放在String内,没有则在字符串常量池中创建一个“x”常量对象,再返回一个引用存放在String内。

        没有初始化的String和String数组并没有创建实例对象,内部为NULL。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值