Java String字符串的常用使用方法

2025-04-10 04:50

本文主要是介绍Java String字符串的常用使用方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《JavaString字符串的常用使用方法》String是JDK提供的一个类,是引用类型,并不是基本的数据类型,String用于字符串操作,在之前学习c语言的时候,对于一些字符串,会初始化字符数组表...

今天学习到了Java中的String,String是Java中一个非常重要的类,在我们做字符串操作的时候,需要使用到String。

一、什么是String

String是JDK提供的一个类,是引用类型,并不是基本的数据类型,String用于字符串操作,在之前学习C语言的时候,对于一些字符串,会初始化字符数组表示。

char str [] = {'a', 'b', 'c'};

在Java中,String像是一个很大的char数组,我们在定义字符串的时候,不需要再去像上方代码一样去定义,而是直接可以使用String去定义。

String str = "abc";

String就像是很大的char数组,但相比于char数组而言,String可以做字符串拼接操作,而char数组并不能直接去做字符串的拼接,如下代码。

String str = "abc" + "def";

二、如何定义一个String

既然知道String是一个类,那么类一定有他的初始化方法,在Java中,String的初始化有以下几种常用的方式。这是官方给出的一些介绍。

Java String字符串的常用使用方法

1. 用双引号定义

String字符串,可以直接通过双引号来定义,把需要的字符串内容用双引号包裹,可以直接对String类型的对象赋值。

public class StringDemo {
    public static void main(String[] args) {
        String str = "abc";
    }
}

2. 通过构造函数定义

String作为一个类,可以通过new关键字初始化,在Java中可以通过构造函数对String类型的对象赋值。

public class StringDemo {
    public static void main(String[] args) {
        String str = new String("abc");
        System.out.println(str);
    }
}

这是一种基本的构造字符串的方式,除此之外还有一些其他的构造方式。

通过无参构造函数初始化

js样的方式初始化的String的值为空,也就是什么都没有。

public String() {
        this.value = "".value;
        this.coder = "".coder;
    }

通过char数组进行初始化

String可以传入一个char数组进行初始化,String会拼接char数组当中的所有字符。

public String(char value[]) {
        this(value, 0, value.length, null);
    }

带位移的方式通过char数组进行初始化

这样的方式和上边的方式其实是一样的,只不过在初始化字符串的时候,会根据传入的offset作为char数组开始拼接的起始索引,并且拼接上count个字符。

public String(char value[], int offset, int count) {
        this(value, offset, count, rangeCheck(value, offset, count));
    }

Java String字符串的常用使用方法

除了以上几种常用的方式外,还有一些其他的方式,如通过int数组进行初始化,通过byte数组进行初始化,大家感兴趣的话可以自己研究一下。 

三、String中的一些常用方法

了解到什么是String,下面就要理解一些String中常用的方法。

1 字符串比较

字符串之间的比较又分为很多不同的方法,下边是一些常用的字符串比较方法。

Java String字符串的常用使用方法

1.1 字符串使用 ==

字符串使用 == 操作,其实是一个有坑的点,一般不用,这里不在多讲,有兴趣的可以尝试一下以下代码。

Java String字符串的常用使用方法

1.2 字符串使用equals()

字符串的比较,使用这个方法比较多一点。

Java String字符串的常用使用方法

Java String字符串的常用使用方法

 1.3 使用 equalsIgnoreCase()

这个方法相比于普通的equals方法的区别是,这个方法是忽略大小写的。

Java String字符串的常用使用方法

Java String字符串的常用使用方法

除此之外,字符串比较还有这两个方法。

1.4 cpmpareTo和compareToIgnoreCase

Java String字符串的常用使用方法

这两个方法和equals方法的区别是,equals返回的是boolean类型的变量,而compare方法返回的是int类型的变量。

具体比较方法如下:

两个字符串按照单个字符从前向后作比较,遇到不同的字符,返回两个字符的差值如果两个字符比较完成了,没有发现不同的字符,返回两个字符串的长度差。

Java String字符串的常用使用方法

Java String字符串的常用使用方法

2 字符串大小写转换 

String中还提供了一些字符串大小写转换的方法。

Java String字符串的常用使用方法

 2.1 toUpperCase()

这个方法就是把字符串全部转换为大写。

Java String字符串的常用使用方法

2.2 toLowerCase()

这个方法把字符串全部转换为小写 

Java String字符串的常用使用方法

3  字符串长度获取

3.1 length()

字符串长度的获取通过以下方法获取。

Java String字符串的常用使用方法

4  判断是否包含一段字符串

4.1 contains()

String是有子字符串的概念的,比如我们要查看某个字符串中是否包含一小段的字符串,我们可以用以下方法。

Java String字符串的常用使用方法

5 字符串切割和拼接

 5.1 split()

字符串的切割和拼接是非常实用的方法,现在我javascript们有这样的一个字符串。

String students = "zhangsan,lisi,wangwu,liuliu";

我们想要把这些姓名拆分出来,就需要用到下边的方法。

Java String字符串的常用使用方法

Java String字符串的常用使用方法

对于字符串切割,我们需要传入一个作为分割的字符,在上方的代码当中传入的是一个",",当然在具体应用的时候,还要根据具体的场景做分析。

5.2 join()

除了字符串分割外,当然也有字符串拼接的操作,如果我们想把studentArr中的学生姓名用横杠拼接起来,像这样

zhangsan-lisi-wangwu-liuliu

需要以下代码完成,这里只介绍基本的使用。

Java String字符串的常用使用方法

6 字符串寻找字串起始位置

我们可以判断字串是否存在,也可以获取子串在字符串的起始索引。

Java String字符串的常用使用方法

6.1 indexOf()

看下方代码,我们试图在字符串中寻找有没有值为"lisi"的字符串,我们调用indexOf方法就可以,

indexOf方法有两种,一种是直接传匹配字串,另外一种是传入匹配子串的同时传入开始匹配的起始下边,比如我们从索引10开始寻找,因为lisi的开始索引为9,当我们把开始匹配的下标放到10的时候,就没有办法在匹配到"lisi"了。

Java String字符串的常用使用方法

6.2 lastIndexOf() 

和indexOf()是一样的,不同的是,lastIndexOf()是判断的结尾,是从后往前找的。

7 获取字串

7.1 substring()

字串可以判断存不存在,可以获取起始下标,当然也可以获取子串。通过起始下标和结束下标来截取子串。

Java String字符串的常用使用方法

Java String字符串的常用使用方法

Java String字符串的常用使用方法

8 字符串替换 

  • Java String字符串的常用使用方法

replace:有两个重载形式,replace(char oldChar, char newChar)用于字符替换,replace(CharSequence target, CharSequence replacement) 可用于字符串替换。这里的CharSequence是字符串序列,简单理解就是字符串 ,该方法不会将参数解析为正则表达式
replaceAll:方法签名为replaceAll(String regex, String replacement),参数regex要求是一个正则表达式字符串,它会按照正则表达式规则去匹配字符串中的子串并替换 。如果传入的不是正则表达式,也会当作普通字符串处理。
replaceFirst:方法签名为replaceFirst(String regex, String replacement) ,和replaceAll一样,第一个参数regex也是基于正则表达式的,不过它只替换第一次匹配到的子串。当传入非正则表达式javascript的普通字符串时,也能进行字符串替换操作。

对于一些不想要的字符,也是可以替换的,拿上方的这个字符串来说。

String students = "zhangsan,lisi,wangwu,liuliu";

如果不想要逗号了,想要用横线分割,下方代码可以实现。

8.1  replace()

Java String字符串的常用使用方法

8.2 replaceAll()

Java String字符串的常用使用方法

与replace()不同的是,replaceAll()是可以传入正则表达式的,这里不在讲正则表达式,以下的方式也是可以替换的。

Java String字符串的常用使用方法

 以上就是一些常用的String的使用方法。

到此这篇关于Java String字符串的基本使用的文章就介绍到php这了,更多相关Java String字符串使用内容请搜索China编程(www.chinasem.cn)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程China编程(www.chinasem.cn)!

这篇关于Java String字符串的常用使用方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1154157

相关文章

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave

springboot filter实现请求响应全链路拦截

《springbootfilter实现请求响应全链路拦截》这篇文章主要为大家详细介绍了SpringBoot如何结合Filter同时拦截请求和响应,从而实现​​日志采集自动化,感兴趣的小伙伴可以跟随小... 目录一、为什么你需要这个过滤器?​​​二、核心实现:一个Filter搞定双向数据流​​​​三、完整代码

SpringBoot利用@Validated注解优雅实现参数校验

《SpringBoot利用@Validated注解优雅实现参数校验》在开发Web应用时,用户输入的合法性校验是保障系统稳定性的基础,​SpringBoot的@Validated注解提供了一种更优雅的解... 目录​一、为什么需要参数校验二、Validated 的核心用法​1. 基础校验2. php分组校验3

golang获取当前时间、时间戳和时间字符串及它们之间的相互转换方法

《golang获取当前时间、时间戳和时间字符串及它们之间的相互转换方法》:本文主要介绍golang获取当前时间、时间戳和时间字符串及它们之间的相互转换,本文通过实例代码给大家介绍的非常详细,感兴趣... 目录1、获取当前时间2、获取当前时间戳3、获取当前时间的字符串格式4、它们之间的相互转化上篇文章给大家介

Pydantic中Optional 和Union类型的使用

《Pydantic中Optional和Union类型的使用》本文主要介绍了Pydantic中Optional和Union类型的使用,这两者在处理可选字段和多类型字段时尤为重要,文中通过示例代码介绍的... 目录简介Optional 类型Union 类型Optional 和 Union 的组合总结简介Pyd

Java Predicate接口定义详解

《JavaPredicate接口定义详解》Predicate是Java中的一个函数式接口,它代表一个判断逻辑,接收一个输入参数,返回一个布尔值,:本文主要介绍JavaPredicate接口的定义... 目录Java Predicate接口Java lamda表达式 Predicate<T>、BiFuncti

Vue3使用router,params传参为空问题

《Vue3使用router,params传参为空问题》:本文主要介绍Vue3使用router,params传参为空问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录vue3使用China编程router,params传参为空1.使用query方式传参2.使用 Histo

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

使用Python自建轻量级的HTTP调试工具

《使用Python自建轻量级的HTTP调试工具》这篇文章主要为大家详细介绍了如何使用Python自建一个轻量级的HTTP调试工具,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录一、为什么需要自建工具二、核心功能设计三、技术选型四、分步实现五、进阶优化技巧六、使用示例七、性能对比八、扩展方向建

Spring Security方法级安全控制@PreAuthorize注解的灵活运用小结

《SpringSecurity方法级安全控制@PreAuthorize注解的灵活运用小结》本文将带着大家讲解@PreAuthorize注解的核心原理、SpEL表达式机制,并通过的示例代码演示如... 目录1. 前言2. @PreAuthorize 注解简介3. @PreAuthorize 核心原理解析拦截与