Java中String类中常用的方法(附带相关面试题)

简介: 一.字符串的转化,二.字符串的查找,三.字符串的替换,四.字符串的截取,五.字符串的拆分,六.字符串的比较,七.其他类

在java中String并不是基本数据类型,其本质是一个类

字符串在Java程序中占据着非常重要的地位,所以掌握其中相关方法也非常重要,并且在面试中也是其中的一个重点知识内容

以下是java中String常用的方法:

一.字符串的转化

常用方法:

转换方法 描述
string.charAt(number) 返回字符串中索引为number的字符。索引从0开始,所以number=0表示字符串的第一个字符。
char[] test = string.toCharArray() 将字符串中的每个字符转换为字符数组,并将结果保存在test数组中。这样可以逐个访问和处理字符串中的字符。
byte[] test = string.getBytes() 将字符串转换为字节数组。这在数据传输和网络通信中非常常见,因为字节流可以更有效地传输和处理数据。

案例代码:实现常用的String的转换方法

package Example;
public class javaDemo {
    public static void main(String[] args) {
      String test = "ok,xdm,看我看我,我是个啥b";
      char a = test.charAt(5);
//      字符串中转化为字符
      System.out.println(a);
      char b[] = test.toCharArray();
//      字符串转化为数组
      for (int i= 0;i<b.length;i++){
          System.out.print(b[i]);
      }
        System.out.println("");
      byte  bbyte[] = test.getBytes();
      //      字符串转化为字节
      for (int i= 0;i<bbyte.length;i++){
          System.out.print(bbyte[i]);
        }
    }
}

image.gifimage.gif

 


二.字符串的查找

常用方法:

方法 描述 返回值
string.indexOf(str) 从左到右开始查找字符串中第一次出现str的位置。如果找到,返回字符所在的下标;如果没有找到,返回-1。 找到:字符所在的下标;未找到:-1
string.lastIndexOf(str) 从右到左开始查找字符串中最后一次出现str的位置。如果找到,返回字符所在的下标;如果没有找到,返回-1。 找到:字符所在的下标;未找到:-1
string.contains(str) 判断字符串中是否包含子字符串str。如果包含,返回true;如果不包含,返回false 包含:true;不包含:false

案例代码:字符串的查找

package Example;
public class javaDemo {
    public static void main(String[] args) {
        String test = "ok,xdm,看我看我,我是个啥b";
        System.out.println(test.indexOf("啥a"));
        System.out.println(test.indexOf("啥b"));
        System.out.println(test.contains("啥b"));
        //查找字符串内是否有"啥b"
    }
}

image.gifimage.gif



三.字符串的替换

常用方法:

方法 描述
string.replaceFirst(oldStr, newStr) 替换字符串中第一个匹配到的oldStr子字符串为newStr子字符串。
string.replaceAll(oldStr, newStr) 替换字符串中所有匹配到的oldStr子字符串为newStr子字符串。

案例代码:

package Example;
public class javaDemo {
    public static void main(String[] args) {
        String test = "瑞克四代才是神";
       String test2 = test.replaceFirst("四","五");
        System.out.println(test2);
    }
}

image.gif



四.字符串的截取

常用方法:

方法 描述
string.substring(startIndex) 从指定起始索引startIndex开始截取字符串,返回从该索引到字符串末尾的子字符串。
string.substring(startIndex, endIndex) 从指定起始索引startIndex开始截取字符串,直到结束索引endIndex之前的位置,返回包含的子字符串。

案例代码: 提取跳过前两个字符的字符串

package Example;
public class javaDemo {
    public static void main(String[] args) {
        String test = "不要断章取义";
        System.out.println(test.substring(1));
    }
}

image.gifimage.gif



五.字符串的拆分

常用方法:

方法 描述
string.split(delimiter) 将字符串按照指定的分隔符delimiter进行拆分,并返回一个字符串数组,其中包含被拆分后的子字符串。

案例代码:设置String数组接收一个字符串以空格为分隔符的字符串

package Example;
public class javaDemo {
    public static void main(String[] args) {
       String test = "房子,黑人,女朋友 归男,孩子";
       String badEnding[] = test.split(" ");
       for (int i=0; i<badEnding.length;i++){
           System.out.println(badEnding[i]);
       }
    }
}

image.gifimage.gif



六.字符串的比较

常用方法:

方法 描述
string.equals(str) 比较字符串与给定的str是否相等。返回true,如果字符串相等;返回false,如果字符串不相等。
string.equalsIgnoreCase(str) 比较字符串与给定的str是否相等,不区分大小写。返回true,如果字符串相等;返回false,如果字符串不相等。

案例代码:

package Example;
public class javaDemo {
    public static void main(String[] args) {
     String test = "abcdefg";
        System.out.println(test.equals("ffffffff"));
        System.out.println(test.equals("abcdefg"));
        System.out.println(test.equalsIgnoreCase("ffffffff"));
        System.out.println(test.equalsIgnoreCase("ABCDEFG"));
    }
}

image.gif面试题:字符串之间 “==”与equals的方法的区别

1.对于基本类型,==比较的是值

2.对于引用类型,==比较的是地址

3.equals类型不能用于基本类型的比较

4.如果没有重写equals,equals就相当于 ==

5.如果重写了equals方法,equals比较的就是对象内容

 


七.其他类

方法 描述
toUpperCase() 将字符串转换为大写字母形式。
toLowerCase() 将字符串转换为小写字母形式。
length() 返回字符串的长度,即包含的字符个数。
concat(str) 将指定字符串 str 连接到原字符串的末尾。
trim() 去除字符串两端的空白字符(包括空格、制表符、换行符等),返回新字符串。

字符串拼接concat()与“+”区别

主要区别如下:

  1. 返回值:concat()方法返回一个新的字符串对象,将当前字符串与指定字符串连接起来,而符号"+"直接在原有字符串上进行修改并返回结果。
  2. 内部实现:concat()方法使用了StringBuilder(在常用类库中)或StringBuffer来执行字符串的连接操作,而符号"+"使用StringBuilder在内部实现中完成字符串的拼接。
  3. 可读性:concat()方法的语法比较明确,可以清楚地表达出字符串的连接操作;而符号"+"的使用更为简便和直观,可以直接将两个字符串用"+"进行连接。

面试题:String类的常用方法有哪些?

equals、length、contains、replace、split、hashcode、indexof、substring、trim、toUpperCase、toLowerCase、isEmpty等等

目录
相关文章
|
20天前
|
存储 XML 缓存
Java字符串内幕:String、StringBuffer和StringBuilder的奥秘
Java字符串内幕:String、StringBuffer和StringBuilder的奥秘
20 0
|
2天前
|
安全 算法 Java
Java Collections工具类:常用方法与技巧
Java Collections工具类:常用方法与技巧
|
2天前
|
JSON 缓存 安全
Java反序列化漏洞自动挖掘方法
Java反序列化漏洞自动挖掘方法
9 0
|
3天前
|
人工智能 文字识别 Java
AI工具【OCR 01】Java可使用的OCR工具Tess4J使用举例(身份证信息识别核心代码及信息提取方法分享)
【2月更文挑战第1天】Lept4J和Tess4J都是基于Tesseract OCR引擎的Java接口,可以用来识别图像中的文本,本次介绍Tess4J
32 0
|
4天前
|
存储 Java
深入剖析 Java 类属性与类方法的应用
Java 类属性,也称为字段,是类中的变量。它们用于存储与类相关的数据。 创建类属性 在类定义中声明属性
33 0
|
4天前
|
Java
Java字符串转整数的超简单方法!
Java字符串转整数的超简单方法!
18 0
|
7天前
|
Java
深入了解 Java 方法和参数的使用方法
方法是一块仅在调用时运行的代码。您可以将数据(称为参数)传递到方法中。方法用于执行特定的操作,它们也被称为函数。
59 4
|
8天前
|
Java
百度搜索:蓝易云【Java中如何向一个string类型的数组中添加数据】
在上述代码中,我们首先创建一个新的String数组 `newArray`,长度为原数组 `originalArray`的长度加1。然后,通过循环将原数组中的元素复制到新数组中。最后,将新数据 `newData`添加到新数组的末尾。现在,`newArray`就包含了原数组的所有元素,并且在末尾添加了新的数据。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
8 0
|
17天前
|
存储 Java
java Map集合相关介绍和方法使用操作
java Map集合相关介绍和方法使用操作
17 2
|
17天前
|
存储 Java
java set集合相关介绍和方法使用操作
java set集合相关介绍和方法使用操作
13 2

热门文章

最新文章

相关产品

  • 云迁移中心