当前位置: 首页 > news >正文

第四章 Java核心类库 第一节 字符串处理

字符串处理

  • 1. String类的基本操作

    首先,我们来了解一下Java中的String类。

    • String类简介String类是Java中用于表示字符串的类。字符串是字符的序列,String类提供了多种操作字符串的方法。重要的是,String类是不可变的,即一旦创建,字符串的内容不能被改变。

    • 创建字符串:可以通过字面量或者使用构造方法来创建字符串。例如:

      String str1 = "Hello, World!"; // 通过字面量创建
      String str2 = new String("Hello, Java!"); // 通过构造方法创建
    • 字符串比较String类提供了equals()方法用于比较两个字符串的内容是否相同,而==运算符则用于比较两个字符串对象的引用是否相同。

      String str1 = "Hello";
      String str2 = "Hello";
      String str3 = new String("Hello");
      ​
      System.out.println(str1.equals(str2)); // 输出 true
      System.out.println(str1 == str2); // 输出 true
      System.out.println(str1 == str3); // 输出 false

    2. StringBuilder与StringBuffer的区别与使用

    接下来,我们来看一下StringBuilderStringBuffer

    • StringBuilder与StringBuffer简介StringBuilderStringBuffer都是用于创建可变字符串的类,与String类不同,它们的内容是可以被修改的。它们在功能上非常相似,但StringBuffer是线程安全的,而StringBuilder则不是。一般情况下,如果不涉及多线程操作,推荐使用StringBuilder,因为它的性能更好。

    • 使用示例:我们来看一个简单的例子,展示如何使用StringBuilderStringBuffer

      StringBuilder sb = new StringBuilder("Hello");
      sb.append(" World");
      System.out.println(sb.toString()); // 输出 "Hello World"
      ​
      StringBuffer sbf = new StringBuffer("Java");
      sbf.append(" Programming");
      System.out.println(sbf.toString()); // 输出 "Java Programming"

      在这个例子中,我们创建了StringBuilderStringBuffer对象,并使用append()方法将字符串拼接起来。


    3. 常用字符串处理方法

    最后,我们来学习一些常用的字符串处理方法,包括分割、替换、查找和拼接。

    • 字符串分割split()方法用于将字符串按指定的分隔符分割成数组。例如:

      String str = "apple,banana,orange";
      String[] fruits = str.split(",");
      for (String fruit : fruits) {System.out.println(fruit);
      }

      在这个例子中,字符串str被分割成了三个部分,分别是applebananaorange

    • 字符串替换replace()方法用于替换字符串中的某些字符或子字符串。例如:

      String str = "Hello World";
      String newStr = str.replace("World", "Java");
      System.out.println(newStr); // 输出 "Hello Java"

      这个例子将"World"替换为"Java"

    • 字符串查找indexOf()方法用于查找子字符串在字符串中首次出现的位置。例如:

      String str = "Java Programming";
      int index = str.indexOf("Programming");
      System.out.println(index); // 输出 5

      这个例子查找"Programming"在字符串中的起始位置。

    • 字符串拼接:可以使用+运算符或concat()方法来拼接字符串。例如:

      String str1 = "Hello";
      String str2 = "World";
      String result = str1 + " " + str2;
      System.out.println(result); // 输出 "Hello World"
      ​
      String result2 = str1.concat(" ").concat(str2);
      System.out.println(result2); // 输出 "Hello World"

      这两个例子展示了使用+运算符和concat()方法来拼接字符串。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 如何用Java SpringBoot+Vue打造高效产品订单管理系统?
  • PHP房屋出售出租多端多平台预约系统小程序源码
  • 微信小程序vue3父组件调用vue2子组件传多个参数方法
  • SQL数据完整性的守护者:主键与唯一键的精妙应用
  • springboot调用sap接口传输数据,RFC协议接口调用,包含linux,windows部署
  • 多线程资源占用问题
  • 【对商城小程序命名的一些建议】
  • SpringBoot3
  • 算法刷题笔记 筛质数(详细注释的C++实现,同时包含朴素筛法、埃氏筛法和线性筛法详细介绍)
  • 2024最新 Jenkins + Docker实战教程(九)- Jenkins实现嵌入式系统的自动化流程
  • Java框架Spring(一)
  • QT+OSG显示一个三维模型
  • 又一个强大的开源编辑器Vditor
  • safari扩展程序开发
  • 03_React 收集表单数据和 组件生命周期
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • 2017-09-12 前端日报
  • co.js - 让异步代码同步化
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • js写一个简单的选项卡
  • leetcode388. Longest Absolute File Path
  • Rancher-k8s加速安装文档
  • Sass Day-01
  • 从伪并行的 Python 多线程说起
  • 大数据与云计算学习:数据分析(二)
  • 构建工具 - 收藏集 - 掘金
  • 力扣(LeetCode)965
  • 删除表内多余的重复数据
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • 移动端唤起键盘时取消position:fixed定位
  • 用mpvue开发微信小程序
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • #13 yum、编译安装与sed命令的使用
  • #70结构体案例1(导师,学生,成绩)
  • #php的pecl工具#
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (13)DroneCAN 适配器节点(一)
  • (16)Reactor的测试——响应式Spring的道法术器
  • (3)医疗图像处理:MRI磁共振成像-快速采集--(杨正汉)
  • (el-Transfer)操作(不使用 ts):Element-plus 中 Select 组件动态设置 options 值需求的解决过程
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (分布式缓存)Redis分片集群
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • **《Linux/Unix系统编程手册》读书笔记24章**
  • .Net 6.0 处理跨域的方式
  • .Net Core和.Net Standard直观理解
  • .NET 程序如何获取图片的宽高(框架自带多种方法的不同性能)
  • .NET 发展历程
  • .net生成的类,跨工程调用显示注释
  • .NET中分布式服务