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

目录
相关文章
|
11天前
|
Java 索引
java基础(13)String类
本文介绍了Java中String类的多种操作方法,包括字符串拼接、获取长度、去除空格、替换、截取、分割、比较和查找字符等。
24 0
java基础(13)String类
|
8天前
|
安全 Java
String类-知识回顾①
这篇文章回顾了Java中String类的相关知识点,包括`==`操作符和`equals()`方法的区别、String类对象的不可变性及其好处、String常量池的概念,以及String对象的加法操作。文章通过代码示例详细解释了这些概念,并探讨了使用String常量池时的一些行为。
String类-知识回顾①
|
4天前
|
Java API
Java的日期类都是怎么用的
【10月更文挑战第1天】本文介绍了 Java 中处理日期和时间的三个主要类:`java.util.Date`、`java.util.Calendar` 和 `java.time` 包下的新 API。`Date` 类用于表示精确到毫秒的瞬间,可通过时间戳创建或获取当前日期;`Calendar` 抽象类提供丰富的日期操作方法,如获取年月日及时区转换;`java.time` 包中的 `LocalDate`、`LocalTime`、`LocalDateTime` 和 `ZonedDateTime` 等类则提供了更为现代和灵活的日期时间处理方式,支持时区和复杂的时间计算。
26 14
|
8天前
|
安全 Java 编译器
java访问类字段
java访问类字段
|
11天前
|
Java
java的class类
java的class类
18 5
|
10天前
|
消息中间件 NoSQL Java
Java知识要点及面试题
该文档涵盖Java后端开发的关键知识点,包括Java基础、JVM、多线程、MySQL、Redis、Spring框架、Spring Cloud、Kafka及分布式系统设计。针对每个主题,文档列举了重要概念及面试常问问题,帮助读者全面掌握相关技术并准备面试。例如,Java基础部分涉及面向对象编程、数据类型、异常处理等;JVM部分则讲解内存结构、类加载机制及垃圾回收算法。此外,还介绍了多线程的生命周期、同步机制及线程池使用,数据库设计与优化,以及分布式系统中的微服务、RPC调用和负载均衡等。
|
存储 Java 程序员
Java面试题日积月累(数据库30道)
Java面试题日积月累(数据库30道)
62 0
|
3月前
|
SQL 安全 Java
Java面试题:什么是JDBC以及如何在Java中使用它进行数据库操作?
Java面试题:什么是JDBC以及如何在Java中使用它进行数据库操作?
40 0
|
3月前
|
druid Java 数据库连接
Java面试题:解释数据库连接池的概念及其作用,讨论常见的连接池实现。
Java面试题:解释数据库连接池的概念及其作用,讨论常见的连接池实现。
57 0
|
3月前
|
SQL Java 关系型数据库
Java面试题:描述JDBC的工作原理,包括连接数据库、执行SQL语句等步骤。
Java面试题:描述JDBC的工作原理,包括连接数据库、执行SQL语句等步骤。
52 0
下一篇
无影云桌面