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等等

目录
相关文章
|
28天前
|
Java
Java语言实现字母大小写转换的方法
Java提供了多种灵活的方法来处理字符串中的字母大小写转换。根据具体需求,可以选择适合的方法来实现。在大多数情况下,使用 String类或 Character类的方法已经足够。但是,在需要更复杂的逻辑或处理非常规字符集时,可以通过字符流或手动遍历字符串来实现更精细的控制。
194 18
|
1月前
|
Java 编译器 Go
【Java】(5)方法的概念、方法的调用、方法重载、构造方法的创建
Java方法是语句的集合,它们在一起执行一个功能。方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用方法的优点使程序变得更简短而清晰。有利于程序维护。可以提高程序开发的效率。提高了代码的重用性。方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头写,不使用连接符。例如:addPerson。这种就属于驼峰写法下划线可能出现在 JUnit 测试方法名称中用以分隔名称的逻辑组件。
168 4
|
1月前
|
编解码 Java 开发者
Java String类的关键方法总结
以上总结了Java `String` 类最常见和重要功能性方法。每种操作都对应着日常编程任务,并且理解每种操作如何影响及处理 `Strings` 对于任何使用 Java 的开发者来说都至关重要。
214 5
|
2月前
|
算法 安全 Java
除了类,Java中的接口和方法也可以使用泛型吗?
除了类,Java中的接口和方法也可以使用泛型吗?
120 11
|
2月前
|
Java 开发者
Java 函数式编程全解析:静态方法引用、实例方法引用、特定类型方法引用与构造器引用实战教程
本文介绍Java 8函数式编程中的四种方法引用:静态、实例、特定类型及构造器引用,通过简洁示例演示其用法,帮助开发者提升代码可读性与简洁性。
|
3月前
|
算法 Java
Java语言实现链表反转的方法
这种反转方法不需要使用额外的存储空间,因此空间复杂度为,它只需要遍历一次链表,所以时间复杂度为,其中为链表的长度。这使得这种反转链表的方法既高效又实用。
326 0
|
3月前
|
存储 Java 数据处理
Java映射操作:深入Map.getOrDefault与MapUtils方法
结合 `getOrDefault`方法的简洁性及 `MapUtils`的丰富功能,Java的映射操作变得既灵活又高效。合理地使用这些工具能够显著提高数据处理的速度和质量。开发人员可以根据具体的应用场景选择适宜的方法,以求在性能和可读性之间找到最佳平衡。
142 0
JAVA高频面试题目集锦(6)
JAVA高频面试题目集锦(6)
246 0
JAVA高频面试题目集锦(6)
|
存储 安全 Java
JAVA高频面试题目集锦(5)
JAVA高频面试题目集锦(5)
267 0
JAVA高频面试题目集锦(5)