首页 > 编程语言 >【JAVA】Java第十三节:String类(String相关方法,以及StrinBuftrer , StringBulder相关方法)

【JAVA】Java第十三节:String类(String相关方法,以及StrinBuftrer , StringBulder相关方法)

时间:2024-12-07 23:02:51浏览次数:5  
标签:Java String int StringBuilder StrinBuftrer 字符串 er

本文详细介绍了String类以及常用的String相关方法,以及StrinBuftrer , StringBulder相关方法的使用,建议有印象即可,不需要都记住,使用时去查取即可

一、创建一个String类型的变量

我们平时创建String类型的变量一般是第一种形式,

但是String其实是一个Java定义好的类,所以我们也可以以创建引用--对象的形式创建String类型的变量

我们也可以把一个字符串数组传给String类的构造方法,创建一个String类型的变量


二、关于String类

通过上面的介绍,我们知道了String类,我们去看看它内部到底是怎么实现的

原来String类内部也是定义了(char)字符数组 ( 在JDK1.8中是byte类型),所以它可以接收数组,y也实现了几个接口包括之前说过的Comparable 接口

并且在String类中定义了很多好用的方法,供我们直接去使用,下面我们来演示这些方法


三、String对象之间的比较

1. ==比较:

按照是否引用同一个对象比较


2. boolean equals(Object anObject) 方法:

按照字符串每个字符是否一致比较,返回值boolean类型


3. int compareTo(String s) 方法:

按照字符串每个字符是否一致比较,返回值是 int 类型

前后比较,大了就是正数,小了就是负数,相等为0


4. int compareToIgnoreCase(String str) 方法:

与compareTo方式相同,但是忽略大小写比较


四、字符串的查找

1.char charAt(int index)

根据下标值查找字符串中的字符


2.int indexOf(int ch)4种


3.int lastIndexOf(int ch)4种

和indexOf 的区别只是它是从后往前开始找



五、转化

5.1序列化与反序列化

1.value of() 数字转字符串

2.字符串转数字

Integer.parseInt  

Double.parseDouble


5.2大小写转换

// 小写转大写    toUpperCase();  

// 大写转小写    toLowerCase( );


5.3. 格式化输出

String.format("%d-%d-%d", 2024, 12,6);


六、字符替换

 replace 4种


七、字符串拆分

String[] split

拆分IP地址

注意事项:

1. 字符 "|", "*" , "+", "." 都得加上转义字符,前面加上 "\\" 

2. 而如果是 "\" ,那么就得写成 "\\\\" 

3. 如果一个字符串中有多个分隔符,可以用"|"作为连字符.


八、字符串截取

String substring

Java中的取一定范围的方法,一般都是左闭右开的

String trim()去除左右两边空格


九、字符串的不可变性

String是一种不可变对象. 字符串中的内容是不可改变。字符串不可被修改

你所有的对字符串进行改变的方法或者做法都是创建了一个新对象,而不是一开始的那个数组。

原因是在源码中, char value [ ] 数组都被 private 修饰,这个数组只能在String类中使用,除非直接对char value [ ] 进行set get.

3. StringBuilder和StringBuffer

StringBuilder和StringBuffer都是用于处理字符串的可变类。它们的出现主要用于解决Java中字符串拼接的效率问题

在Java中,String类是不可变的,也就是说每次对字符串进行拼接(+=)、删除、替换等操作时,都会创建一个新的String对象,原来的String对象会被丢弃,这样会造成大量的内存开销。

而StringBuilder和StringBuffer则是可变的,它们可以在原有对象上直接进行操作,不会创建新的对象,因此可以大大提高字符串的操作效率。

revrse(逆序)

insert(插入)

delete(删除)

tostring(变字符串)

它们的区别

 面试题: 1. String、StringBuffer、StringBuilder的区别

String的内容不可修改,StringBuffer与StringBuilder的内容可以修改.

StringBuffer与StringBuilder大部分功能是相似的

StringBuffer采用同步处理,属于线程安全操作;

而StringBuilder未采用同步处理,属于线程不安全操作

标签:Java,String,int,StringBuilder,StrinBuftrer,字符串,er
From: https://blog.csdn.net/qq_75234423/article/details/144277934

相关文章

  • JAVA开源毕业设计 课程作业管理系统 Vue.JS+SpringBoot+MySQL
    本文项目编号T023,文末自助获取源码\color{red}{T023,文末自助获取源码}......
  • JAVA开源毕业设计 社区团购系统 Vue.JS+SpringBoot+MySQL
    本文项目编号T024,文末自助获取源码\color{red}{T024,文末自助获取源码}......
  • node.js毕设基于Java的房屋租赁系统的设计与实现 论文+程序
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于房屋租赁系统的研究,现有研究主要以系统的基本功能实现为主,如用户、房东、房屋信息等模块的构建。在国内外,许多地区已经广泛应用各类房屋租赁管理系......
  • Springboot项目基于RxJava + SSE流式调用AI
    目录什么是RxJava什么是SSERxJava+SSE流式调用AI导入依赖封装AIManager简化传参传入参数返回值Controller层调用一定要用GET,不要用POST封装Prompt建立SSE对象AI生成后SSE流式返回RxJava处理返回的数据流模板(根据自己的业务需求修改具体逻辑)什么是RxJava......
  • 洛谷P10244 String Minimization 题解
    题目传送门思路本题就是让你求\(a\)字典序最小时的\(b\),毕竟他说在\(a\)的字典序尽量小的前提下。接下来就做这个判断:如果\(a_i\)<\(c_i\),则\(b_i\)和\(d_i\)交换。如果\(a_i\)<\(c_i\)且\(b_i\)>\(d_i\),则\(b_i\)和\(d_i\)交换。其余情况不用交换。......
  • 集成minio启动报错:Caused by:java.lang.IllegalArgumentException:invalid hostname 1
    ......
  • JavaSwing JCombox
    try{BeautyEyeLNFHelper.frameBorderStyle=BeautyEyeLNFHelper.FrameBorderStyle.osLookAndFeelDecorated;//UIManager.put("RootPane.setupButtonVisible",false);org.jb2011.lnf.beautyeye.BeautyEyeLNFHelpe......
  • Java多线程与线程池技术详解(四)
    接受失败:“失败是什么?没有什么,只是更走近成功一步;成功是什么?就是走过了所有通向失败的路,只剩下一条路,那就是成功的路。”这句话很好地诠释了如何看待失败的问题,即每一次跌倒都是通往胜利道路上不可或缺的一部分。创造机会:“不要等待机会,而要创造机会。”这句话鼓励人们主动出......
  • Java源代码解析-续篇-语法(块,语句和模式)
    Java源代码解析-续篇-语法(块,语句和模式)目录Java源代码解析-续篇-语法(块,语句和模式)引言Blocks(块)Statements(语句)Patterns(模式)暂告一段落引言Blocks(代码块)、Statements(语句),Patterns(模式)构成了Java程序逻辑与结构的核心要素,无论是编写简单的打印语句,还是构建复杂的......
  • JavaSwing JList
    try{BeautyEyeLNFHelper.frameBorderStyle=BeautyEyeLNFHelper.FrameBorderStyle.osLookAndFeelDecorated;//UIManager.put("RootPane.setupButtonVisible",false);org.jb2011.lnf.beautyeye.BeautyEyeLNFHelpe......