27 String类

27 String类

底层实现

​ final的char数组

常用的加强版

StringBuffer

特点:线程安全、速度慢

StringBuilder

特点:线程不安全、速度快

出现的原因:解决String自行拼接以及反序麻烦等问题

加强版与String类型的转换

对象名.toString();------------//大部分类型的数据转String类的方法都是toString()方法

StringBuffer stringBuffer=new StringBuffer();
String str=stringBuffer.toString();

String的常用方法

前提:

对字符串进行任意修改,返回的是一个新字符串,原来的字符串保持不变

若是对字符串进行判断,则返回的是布尔类型

1.根据下标找对应的值

字符串名称.indexof(int ch);
//返回指定字符在此字符串中第一次出现的索引
字符串名称.indexof(int ch,fromIndex);
//从指定的索引起,返回指定字符在此字符串中第一次出现的索引
//传的实参数值的是字符串
字符串名称.indexof(String str);
//返回指定子字符串在此字符串中第一次出现的索引
字符串名称.indexof(int ch,fromIndex);
//从指定的索引起(含起步的位置),返回指定子字符串在此字符串中第一次出现的索引(首字母)
若为找到就都是返回-1
//示例demo
public class String01 {
    public static void main(String[] args) {
        String name="The tree is beautiful,The tree is green!!!";
        System.out.println("字符t出现的首次位置为:"+name.indexOf('t'));
        System.out.println("从第6个"+"字符起,t出现的首次位置为:"+name.indexOf('t',5));
        System.out.println("从第5个"+"字符起,t出现的首次位置为:"+name.indexOf('t',4));
        //查找子字符串的位置
        System.out.println("子字符串出现的首次位置的第一个元素的地址为:"+name.indexOf("tree"));
        System.out.println("从第6个"+"字符起,t出现的首次位置的第一个元素的地址为:"+name.indexOf("tree",5));
        System.out.println("从第5个"+"字符起,t出现的首次位置的第一个元素的地址为:"+name.indexOf("tree",4));
    }
}
//页面xia

2.获取对应下标的字符

 String name = "The tree is beautiful,The tree is green!!!";
//字符串.charAt(int index);
System.out.println(name.charAt(1));
//----------获取的为h---------

3.获取字符串长度

 String name = "The tree is beautiful,The tree is green!!!";
 System.out.println(name.length());

4.截取字符串(2个)

字符串.subString(int beginIndex);
//获取从beginIndex开始到结尾的子字符串
字符串.subString(int beginIndex,int endIndex);
//获取从beginIndex(含)开始到endIndex(不含结尾)的子字符串
String name = "The tree is beautiful,The tree is green!!!";
String name = "The tree is beautiful,The tree is green!!!";       System.out.println(name.substring(4));      System.out.println(name.substring(4,7));    System.out.println(name.substring(4,8));

5.分隔字符串

//字符串.split(String regex);
//regex代表按照什么标准划分,会按照标准划分成多个字符串
String name = "The tree is beautiful The tree is green!!!";
String[] str=name.split(" ");
for (int i = 0; i < str.length; i++) {
        System.out.println(str[i]);
     }
//得到的是每个单词

6.替换字符串

//字符串.replace(老字符串,新字符串);
//得到一个新的字符串,使得原来字符串中的老字符串变成了新字符串
String name = "The tree is beautiful,The tree is green!!!";
String name01=name.replace("tree","forest");
System.out.println(name01);
System.out.println(name);

7.拼接字符串(与+""类似)

字符串.concat(String str)
//得到一个新字符串,它为原字符串末尾加上str字符串
 String name = "The tree is beautiful,The tree is green!!!";
String name02=name.concat("Yeah");
System.out.println(name02);
System.out.println(name);

8.判断字符是否存在

字符串.contains(指定字符串);
//判断指定字符串是否存在
String name = "The tree is beautiful,The tree is green!!!";      System.out.println(name.contains("tree"));  System.out.println(name.contains("Tree"));

9.英文转换成大写的

//字符串.toUpperCase(指定字符串);
////得到一个新的字符串,使得原来字符串中的字母全都变成大写
String name = "The tree is beautiful,The tree is green!!!";
String name03=name.toUpperCase();
System.out.println(name03);
System.out.println(name);

10.去掉前后空格

字符串.trim(指定字符串);
////得到一个新的字符串,使得原来字符串中前后空格去掉
String name = "            The tree is beautiful,The tree is green!!!            ";
String name04=name.trim();
System.out.println(name);
System.out.println(name04);
(0)

相关推荐

  • #String类简述(小白理解,小白编写,欢迎大神指点,小白跪谢)

    @ 目录 一.前言(可忽略) 二.String变量的认知 三.String类的构造方法 四.String类的基本方法 4.1 toString()方法 4.2 equals()方法 4.3 equal ...

  • 2w字 详解 String,yyds

    回复"000"获取程序员必备电子书 前言 大家好,我是老田,今天给大家分享java基础知识之String. String类的重要性就不必说了,可以说是我们后端开发用的最多的类,所以 ...

  • Java中String类的concat方法

    在了解concat()之前,首先需要明确的是String的两点特殊性. 长度不可变 值不可变  这两点从源码中对String的声明可以体现: private final char[] value ; ...

  • 看完这个String类,保证你不敢在吹牛了!!!

    一.String类 想要了解一个类,最好的办法就是看这个类的实现源代码,来看一下String类的源码: public final class String implements java.io.Ser ...

  • 浅拷贝,深拷贝和写时拷贝(string类)

    浅拷贝浅拷贝:编译器只是直接将指针的值拷贝过来,结果多个对象共用了一块内存,当一个对象调用了析构函数将这块内存释放掉之后,另一些对象不知道这块空间已经还给了系统,再次调用析构函数进行释放时发现已经释放 ...

  • String 类的理解

    [前面的话] 最痛苦的工作就是大部分系统外包,所以比较少写代码,在这七个月中只写了两个月左右的代码,然后每天都在做一些比较杂的事情,希望有机会可以写一写代码,提高技术. 前段时间做了一下开发,还有两个 ...

  • string类

    2019-11-22 18:08:06 构造字符串 #include<iostream> #include<string> using namespace std; int m ...

  • C#中string类使用Substring方法截取字符串

    在C#的字符串操作过程中,截取字符串是一种常见的字符串操作,可使用string类的Substring方法来完成字符串的截取操作,该方法支持设定截取的开始位置以及截取的字符串长度等参数,Substrin ...

  • 大全 | 函数概念性质、二次函数与根的分布涉及的10大类27小类题型全梳理(精编Word)

    近日QQ群更新的部分内容如下,全部含答案 高中11大类86个易错点全梳理(185页Word) 恒成立涉及10大类40小类题型梳理(100页Word) 高中数学10大专题100个考点配例题全梳理 202 ...

  • 深入了解C++中的String类

    C++标准库提供了String类类型,支持上述所有的操作,另外还增加了其他更多的功能.我们将学习C++标准库中的这个类,现在让我们先来看看下面这个实例: 现在您可能还无法透彻地理解这个实例,因为到目前 ...