java字符串中常用的10个方法

news2024/12/26 11:04:35

文章目录

  • 前言
  • 一、字符串的构造
    • 1.使用常量进行直接赋值构造
    • 2.使用new String对象
    • 3.使用字符数组进行构造
  • 二、字符串的比较
    • 1.==比较
    • 2.equals方法比较
    • 3. compareTo方法比较
    • 4.compareToIgnoreCase(String str)方法
  • 三、字符串的查找
    • 1.charAt(int index)方法
    • 2.indexOf(String str)方法
  • 四、字符串类型与其它类型的相互转化
    • 1.字符串转数字
    • 2.字符串转数组
  • 五、字符串替换
  • 六、字符串拆分
  • 七、字符串截取
  • 八、大小写转换
  • 九、字符串去空格
    • String trim()
  • 十、字符串拼接
    • 1.+号连接
    • 2.join方法
  • 总结


前言

java中没有内置的字符串类型,而是标准Java类库中提供了一个预定义类,所以字符串也叫做String,每个String类都是由双引号(“”)引起来的,String在java中也是非常重要的,下面让我们一起复习一下String类的10个常用方法。


一、字符串的构造

1.使用常量进行直接赋值构造

String str="hello java";

2.使用new String对象

String str1=new String("hello");

3.使用字符数组进行构造

  char[] arr={'j','a','v','a'};
  String str2=new String(arr);

注意
需要注意的是String是引用类型,内部存储的并不是字符串本身。

二、字符串的比较

1.==比较

在String中==比较的是引用的字符串对象是否为同一个

        String str3="999";
        String str4="999";
        String str5=new String("999");
        System.out.println(str3==str4);
        //打印true
        System.out.println(str3==str5);
        //打印false

2.equals方法比较

在这里插入图片描述
equals方法接收类型为Object类型,返回类型为布尔类型,比较的是两个对象中的内容是否相同

 String str3="999";
 tring str5=new String("999");
 System.out.println(str3.equals(str5));
 //打印true

3. compareTo方法比较

在这里插入图片描述
compareTo方法接收类型为String类型,返回值为int类型。
比较方法为:

  1. 先按照字典次序大小比较,如果出现不等的字符,直接返回这两个字符的大小差值。
  2. 如果前k个字符都相等,只是长度不同,那么返回两个字符串长度差值。
        String str6="hello";
        String str7="help";
        String str8="help me";
        System.out.println(str6.compareTo(str7));
        //打印-4,l与p的字符大小差值
        System.out.println(str7.compareTo(str8));
        //打印-3,长度差值

4.compareToIgnoreCase(String str)方法

次方法与compareTo方法比较形式大致相同,只是不区分字符串大小写。

三、字符串的查找

1.charAt(int index)方法

在这里插入图片描述
此方法返回index位置上字符,如果index为负数或者越界,抛出IndexOutOfBoundsException异常

       String str9="sleep";
       System.out.println(str9.charAt(2));
       //打印e

2.indexOf(String str)方法

在这里插入图片描述
此方法为返回str第一次出现的位置,没有返回-1。

        String str10="hello java";
        System.out.println(str10.indexOf("lo"));
        //打印3

四、字符串类型与其它类型的相互转化

1.字符串转数字

在这里插入图片描述
不同基本类型对应不同包装类,方法名后缀不相同。

        String str11="1314520";
        int a=Integer.parseInt(str11);
        System.out.println(a);
        //打印数字1314520

2.字符串转数组

在这里插入图片描述
使用toCharArray方法转为数组

        String str12="name";
        char[] arr1=str12.toCharArray();
        for (char c :arr1) {
            System.out.print(c);
        }
        //打印name

五、字符串替换

在这里插入图片描述
在这里插入图片描述

接收类型与返回类型皆为String类型

replaceAll与replaceFirst分别为替换所有指定内容与替换首指定内容

        String str13="hello";
        System.out.println(str13.replaceAll("lo", "p"));
        //打印help
        System.out.println(str13.replaceFirst("l", "e"));
        //打印heelo

六、字符串拆分

在这里插入图片描述
将字符串以指定的格式全部拆分
在这里插入图片描述
将字符串以指定的格式,拆分为limit组

        String str14="123456789";
        String[] arr2=str14.split("");
        String[] arr3=str14.split("",4);
        System.out.println(arr2.length);
        //打印9
        System.out.println(arr3.length);
        //打印4

七、字符串截取

在这里插入图片描述

String substring(开始截取的下标, 开始不截取的下标)

        String str15="java";
        System.out.println(str15.substring(1, 3));
        //打印av

八、大小写转换

在这里插入图片描述
将字符串全部变为小写
在这里插入图片描述
将字符串全部变为大写

        String str16="AbC";
        System.out.println(str16.toLowerCase());
        //打印abc
        String str17="aBc";
        System.out.println(str17.toUpperCase());
        //打印ABC

九、字符串去空格

String trim()

在这里插入图片描述

作用:去掉字符串中的左右空格,保留中间空格

        String str18="  o o  ";
        System.out.println(str18);
        //打印  o  o
        System.out.println(str18.trim());
        //打印o  o

十、字符串拼接

1.+号连接

        String str19="hel";
        String str20="lo";
        System.out.println(str19+str20);
        //打印hello

2.join方法

在这里插入图片描述
第一个参数为分隔符,后面参数为需要放在一起的元素。

        String str21=String.join("","j","a","v","a");
        System.out.println(str21);
        //打印java

总结

以上就是今天要讲的内容,本文仅仅简单复习了一些以字符串为操作对象的方法的使用,而String中提供了大量能使我们快速便捷地处理字符串的方法,这些需要我们一个一个的敲一敲。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/84543.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络流量分析帮助企业提升OA应用性能(二)

需求简介 某外高桥公司的OA系统是其重要的业务系统,OA系统负责人表示,部分用户反馈,访问OA系统时比较慢。需要通过分析系统看一下实际情况。 信息部已对企业领导定义了独立的组,本次要主动分析领导们的使用体验快慢。如果OA系统…

mmdetection3d S3DIS (持续更新)

Mmdetection3d集成了大量3D深度学习算法,其中很大一部分可以在室内三维数据集S3DIS上运行。本节重点介绍S3DIS数据集及其在mmdetection3d中的预处理程序。 1 S3DIS S3DIS(Stanford Large-Scale 3D Indoor Spaces Dataset )数据集是斯坦福大学…

【R语言】白葡萄酒的EDA分析

白葡萄酒的EDA分析1.项目相关信息1.1 评估标准1.2 项目模板1.3 数据集列表1.4 项目示例1.5 数据选择1.5.1 选择1.5.2 详细数据说明1.5.3 有关项目提交的常见问题2.环境准备2.1 导入相关包2.2 加载数据集2 数据整理2.1 数据评估2.1.1 质量类问题2.1.2 结构性问题2.1 数据清洗2.1…

二叉树的代码实现和详解

树的定义 树是由n(n>1)个有限结点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。 树具有以下特点: 1.每个结点有零个或多个子结点; 2.没有父…

ROS action简单使用示例

1、为什么要用action 在ros中,大部分情况下的信息我们使用publisher与subscriber的机制来处理,也就是topic的机制。它能处理一些不用带状态返回的数据处理。当涉及到需要数据返回的节点间数据交互时,首选也可以采用servicer的机制进行处理与…

图解Redisson如何实现分布式锁、锁续约?

文章目录一、基础0)Redisson版本说明、案例案例1)Redisson连接Redis的方式2)用到的Redis命令3)用到的lua脚本语义二、源码分析1、RLock获取RLock对象2、加锁流程0)加锁流程图1)加锁到哪台机器2)…

一行代码获取股票、基金数据,并绘制K线图

大家好,今天这篇文章和大家分享一下如何利用Python获取股票、基金数据,并进行可视化,为金融分析&可视化先导篇,欢迎大家学习、点赞、收藏支持。 一、基础准备 环境:python 3.7 需要安装第三方模块:mpl…

Spring源码深度解析:十六、@Aspect方式的AOP下篇 - createProxy

一、前言 文章目录:Spring源码深度解析:文章目录 我们上篇已经分析到了 Spring将已经找到所有适用于当前bean 的Advisor 集合。下面就要创建代理对象了,而代理对象的创建是从 AbstractAutoProxyCreator#createProxy()开始。下面我们就来看看…

Spring Cloud实现Zuul自带的Debug功能

Zuul 中自带了一个 DebugFilter,一开始笔者也没明白这个 DebugFilter 有什么用,看名称很容易理解,它是用来调试的,可是你看它的源码几乎没什么逻辑,就 set 了两个值而已,代码如下所示。 Overridepublic Obj…

流媒体协议分析之webrtc之rtcp

TCP作为RTP控制协议,对于弱网下音视频质量和会话控制具有重要的作用。 1. RTCP Header V:RTCP的版本号,一定等于2; P:如果设置,填充位表示数据包包含末尾的附加填充八位字节,不属于控制信息&am…

CV-对比学习:概述【通过自监督学习,充分挖掘模型从海量无标注数据中学习通用知识的能力】

对比学习从目标来看,是要做在NLP类型类似Bert预训练的事,即通过自监督学习,充分挖掘模型从海量无标注数据中学习通用知识的能力。 大致分类 对比学习目前可大致可分为 基于负例的对比学习方法基于对比聚类的方法基于不对称网络结构的方法基…

PLC SECS/GEM解决方案,设计与应用

1 适用性 金南瓜SECS是最适应于全自动智能设备的选择。 适用行业:半导体、光伏、PCB等 全面支持E5、E30、E37、E40、E87、E90、E94、E116 PLC SECS/GEM具有怪兽级的强劲性能,处理性能高达10ms/条,全面升级的高适应性,易用友好的S…

30.前端笔记-CSS-CSS3的新特性

1、CSS3新增选择器 属性选择器,权重为10结构伪类选择器,权重为10伪元素选择器,权重为10 1.1 属性选择器 用属性选择器可以不用借助类或id选择器 语法: 正则表达式:^表示开头,$表示结尾,*表示任意 /*标…

怎么提高客服人员效率?

为了给客户提供更好的服务,很多企业会为自己网站配置客服服务,方便随时和客户沟通。但是凡事有利便有弊。虽然和客户接触的机会变多了,但是沟通不及时、回答不专业、问题处理时间长等问题也可能随之出现,反而会给客户带来不好的印…

[附源码]Python计算机毕业设计Django的个人理财系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

OpenCV-Python小应用(七):获取图片ROI的HSV取值范围

OpenCV-Python小应用(七):获取图片ROI的HSV取值范围前言前提条件实验环境获取图片ROI的HSV取值范围参考文献前言 本文是个人使用OpenCV-Python的应用案例,由于水平有限,难免出现错漏,敬请批评改正。更多精彩…

基于无人机的移动边缘计算网络研究(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

socket网络字节序以及大端序小端序

不同CPU中,4字节整数1在内存空间的存储方式是不同的。4字节整数1可用2进制表示如下: 00000000 00000000 00000000 00000001 有些CPU以上面的顺序存储到内存,另外一些CPU则以倒序存储,如下所示: 00000001 00000000 0…

【Spring】SpringBoot 配置 logback 日志

1. 概述 日志在一个业务系统重非常重要,包含有非常重要的数据,可以用于客户反馈问题的排查、线上问题的追踪,以及根据日志数据对业务情况进行有效的监控配置,及时发现线上问题。 常用的日志框架有好几种,但最常用的是…

[附源码]Node.js计算机毕业设计大学校园兼职网站Express

项目运行 环境配置: Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境:最好是Nodejs最新版,我…