Java String类的常用方法汇总

Java String类的常用方法汇总

String类概述

Java中的String类是用于操作字符串的常用类。其本质上是一个不可变的字符序列,也就是说,一旦创建了一个String对象,就无法再对其进行修改。

常用方法汇总

在日常开发中,String类的常用方法如下:

1. 字符串比较

  • equals(Object obj):比较两个字符串是否相等,区分大小写,返回值为boolean类型。
  • equalsIgnoreCase(String anotherString):比较两个字符串是否相等,忽略大小写,返回值为boolean类型。
  • compareTo(String anotherString):按字典顺序比较两个字符串,返回值为int类型,如果字符串相等,则返回0;如果当前字符串大于另一字符串,则返回正数;如果当前字符串小于另一字符串,则返回负数。

示例说明:

String str1 = "hello";
String str2 = "hello";
String str3 = "HELLO";

System.out.println(str1.equals(str2)); // true
System.out.println(str1.equals(str3)); // false
System.out.println(str1.equalsIgnoreCase(str3)); // true
System.out.println(str1.compareTo(str2)); // 0
System.out.println(str1.compareTo(str3)); // 32

2. 字符串查找

  • indexOf(int ch):返回指定字符在字符串中第一次出现的位置,如果没有找到则返回-1。
  • indexOf(int ch, int fromIndex):返回指定字符在字符串中从指定位置开始第一次出现的位置,如果没有找到则返回-1。
  • lastIndexOf(int ch):返回指定字符在字符串中最后一次出现的位置,如果没有找到则返回-1。
  • lastIndexOf(int ch, int fromIndex):返回指定字符在从指定位置开始字符串中最后一次出现的位置,如果没有找到则返回-1。
  • startsWith(String prefix):判断字符串是否以指定字符串开头,返回值为boolean类型。
  • endsWith(String suffix):判断字符串是否以指定字符串结尾,返回值为boolean类型。

示例说明:

String str = "hello world";

System.out.println(str.indexOf('o')); // 4
System.out.println(str.indexOf('o', 5)); // 7
System.out.println(str.lastIndexOf('o')); // 7
System.out.println(str.lastIndexOf('o', 6)); // 4
System.out.println(str.startsWith("he")); // true
System.out.println(str.endsWith("ld")); // true

3. 字符串替换

  • replace(char oldChar, char newChar):将字符串中的旧字符替换为新字符,并返回新字符串。
  • replace(CharSequence target, CharSequence replacement):将字符串中的目标字符串替换为新字符串,并返回新字符串。
  • replaceAll(String regex, String replacement):按照正则表达式匹配字符串,并将匹配到的字符串替换为新字符串,并返回新字符串。
  • replaceFirst(String regex, String replacement):按照正则表达式匹配字符串,并将第一次匹配到的字符串替换为新字符串,并返回新字符串。

示例说明:

String str = "hello,world,welcome";
String newStr1 = str.replace(',', '|');
String newStr2 = str.replaceAll("\\w+", "#");
String newStr3 = str.replaceFirst("\\w+", "#");

System.out.println(newStr1); // hello|world|welcome
System.out.println(newStr2); // #,#,#
System.out.println(newStr3); // #,world,welcome

4. 字符串裁剪

  • substring(int beginIndex):返回从指定位置开始到字符串末尾的子串。
  • substring(int beginIndex, int endIndex):返回从指定位置开始到指定位置结束的子串,不包括结束位置的字符。

示例说明:

String str = "hello world";
String newStr1 = str.substring(6);
String newStr2 = str.substring(0, 5);

System.out.println(newStr1); // world
System.out.println(newStr2); // hello

5. 字符串切分

  • split(String regex):按照正则表达式切分字符串,并返回切分得到的字符串数组。

示例说明:

String str = "hello world welcome";
String[] arr1 = str.split("\\s+");
String[] arr2 = str.split("o");

for (String s : arr1) {
    System.out.println(s);
}

System.out.println("**********");

for (String s : arr2) {
    System.out.println(s);
}

输出结果:

hello
world
welcome
**********
hell
 w
rld welc
me

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java String类的常用方法汇总 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • kafka的消息存储机制和原理分析

    Kafka 的消息存储机制和原理分析 Kafka 是一个分布式的流数据处理平台,采用“发布-订阅”模式,支持高吞吐量、低延迟的消息传输。Kafka 的消息存储机制是其核心之一,本篇攻略将详细介绍 Kafka 的消息存储原理。 Kafka 的消息存储 Kafka 的消息存储是通过一个高效、可扩展、持久化的消息存储模块完成的,这个模块被称为“Kafka 服务器”…

    Java 2023年5月20日
    00
  • web开发中添加数据源实现思路

    我来详细讲解web开发中添加数据源实现思路的完整攻略。在web开发过程中,我们需要添加数据源来提供数据支持。其中包括本地文件、数据库、网络API等多种形式。下面介绍一般的实现思路。 1. 确认数据源类型和数据格式 在添加数据源前,首先需要确认数据源的类型和数据格式。不同的数据源类型和数据格式,需要使用不同的方法进行访问和处理。比如,如果数据源是本地文件,需要…

    Java 2023年6月15日
    00
  • SpringBoot实现接口幂等性的4种方案

    下面是“SpringBoot实现接口幂等性的4种方案”的完整攻略: 什么是接口幂等性? 接口幂等性指的是对于同一请求,多次调用接口所产生的结果是一致的。常见的应用场景包括支付、订单创建等需要保证数据一致性的场景。 在实际开发中,由于应用的多实例部署,以及网络延迟等原因,可能会导致接口被重复调用,进而产生数据不一致的问题。因此,保证接口幂等性非常重要。 Spr…

    Java 2023年5月19日
    00
  • JpaRepository如何实现增删改查并进行单元测试

    JpaRepository是Spring Data JPA中的一个接口,该接口为开发人员提供了一种简单的方式来实现增删改查等常见操作。下面是JpaRepository如何实现增删改查并进行单元测试的完整攻略。 1. 增加数据 JpaRepository提供了一个save()方法来保存一个实体对象。该方法可以用于添加数据。以下是示例代码: @Service p…

    Java 2023年5月20日
    00
  • ASP.NET Core使用微软官方类库实现汉字转拼音

    这里详细讲解如何使用ASP.NET Core及微软官方NuGet库实现汉字转拼音。首先,先简单介绍一下所需的库。 Microsoft.AspNetCore.All:ASP.NET Core的核心库,包含了ASP.NET Core应用所需的各种组件。 Microsoft.Extensions.Configuration:ASP.NET Core配置系统的基础组…

    Java 2023年5月19日
    00
  • Android实现APP自动更新功能

    让我来讲解一下,“Android实现APP自动更新功能”的完整攻略。 1. 什么是APP自动更新功能? APP自动更新功能是指当我们开发的APP有新版本发布时,用户打开APP后会自动检测更新并提示用户更新。此功能可以为用户提供最新的APP版本,同时也可以让应用开发者方便地推出新版本并使用户及时更新升级。 2. 如何实现APP自动更新功能? 要实现APP自动更…

    Java 2023年5月23日
    00
  • java读写ini文件、FileOutputStream问题

    要在Java中读写ini文件,有以下几个步骤: 引入ini4j库 ini4j是一个开源的Java类库,主要用于解析INI文件。 在Maven项目中,可以在pom.xml文件中添加以下依赖: <dependency> <groupId>org.ini4j</groupId> <artifactId>ini4j&l…

    Java 2023年5月19日
    00
  • 什么是动态字节码生成?

    动态字节码生成是指在程序运行过程中通过程序生成字节码并将其加载进JVM,从而实现运行时动态生成代码的一种技术。 使用动态字节码生成的主要场景是:在程序运行过程中,需要根据不同的输入或状态,动态生成代码以完成特定的逻辑。另一个应用场景是AOP框架,其中动态字节码生成技术被用于实现切面编程。 下面是两个示例说明,帮助你更好地理解动态字节码生成的具体使用方法。 示…

    Java 2023年5月11日
    00
合作推广
合作推广
分享本页
返回顶部