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

目录
相关文章
|
10天前
|
Java 开发者
Java 函数式编程全解析:静态方法引用、实例方法引用、特定类型方法引用与构造器引用实战教程
本文介绍Java 8函数式编程中的四种方法引用:静态、实例、特定类型及构造器引用,通过简洁示例演示其用法,帮助开发者提升代码可读性与简洁性。
|
2月前
|
算法 Java 开发者
Java 项目实战数字华容道与石头迷阵游戏开发详解及实战方法
本文介绍了使用Java实现数字华容道和石头迷阵游戏的技术方案与应用实例,涵盖GUI界面设计、二维数组操作、游戏逻辑控制及自动解法算法(如A*),适合Java开发者学习游戏开发技巧。
197 46
|
2月前
|
算法 Java
Java语言实现链表反转的方法
这种反转方法不需要使用额外的存储空间,因此空间复杂度为,它只需要遍历一次链表,所以时间复杂度为,其中为链表的长度。这使得这种反转链表的方法既高效又实用。
192 0
|
2月前
|
存储 Java 数据处理
Java映射操作:深入Map.getOrDefault与MapUtils方法
结合 `getOrDefault`方法的简洁性及 `MapUtils`的丰富功能,Java的映射操作变得既灵活又高效。合理地使用这些工具能够显著提高数据处理的速度和质量。开发人员可以根据具体的应用场景选择适宜的方法,以求在性能和可读性之间找到最佳平衡。
102 0
|
2月前
|
缓存 人工智能 NoSQL
Java中实现Token设置过期时间的方法
本文介绍了在Java应用中实现Token设置过期时间的多种方法,包括使用JWT和Redis缓存,并结合定时任务清理过期Token,以提升系统安全性与用户隐私保护。
267 0
|
3月前
|
安全 Java API
Java 集合高级应用与实战技巧之高效运用方法及实战案例解析
本课程深入讲解Java集合的高级应用与实战技巧,涵盖Stream API、并行处理、Optional类、现代化Map操作、不可变集合、异步处理及高级排序等核心内容,结合丰富示例,助你掌握Java集合的高效运用,提升代码质量与开发效率。
207 0
|
3月前
|
算法 搜索推荐 Java
Java中的Collections.shuffle()方法及示例
`Collections.shuffle()` 是 Java 中用于随机打乱列表顺序的方法,基于 Fisher-Yates 算法实现,支持原地修改。可选传入自定义 `Random` 对象以实现结果可重复,适用于抽奖、游戏、随机抽样等场景。
126 0
|
4月前
|
存储 编译器 C语言
关于string的‘\0‘与string,vector构造特点,反迭代器与迭代器类等的讨论
你真的了解string的'\0'么?你知道创建一个string a("abcddddddddddddddddddddddddd", 16);这样的string对象要创建多少个对象么?你知道string与vector进行扩容时进行了怎么的操作么?你知道怎么求Vector 最大 最小值 索引 位置么?
82 0
|
7月前
|
缓存 安全 Java
《从头开始学java,一天一个知识点》之:字符串处理:String类的核心API
🌱 **《字符串处理:String类的核心API》一分钟速通!** 本文快速介绍Java中String类的3个高频API:`substring`、`indexOf`和`split`,并通过代码示例展示其用法。重点提示:`substring`的结束索引不包含该位置,`split`支持正则表达式。进一步探讨了String不可变性的高效设计原理及企业级编码规范,如避免使用`new String()`、拼接时使用`StringBuilder`等。最后通过互动解密游戏帮助读者巩固知识。 (上一篇:《多维数组与常见操作》 | 下一篇预告:《输入与输出:Scanner与System类》)
154 11
|
7月前
|
Java
课时14:Java数据类型划分(初见String类)
课时14介绍Java数据类型,重点初见String类。通过三个范例讲解:观察String型变量、&quot;+&quot;操作符的使用问题及转义字符的应用。String不是基本数据类型而是引用类型,但使用方式类似基本类型。课程涵盖字符串连接、数学运算与字符串混合使用时的注意事项以及常用转义字符的用法。
161 9

热门文章

最新文章