java字符串(String和StringBuilder)
2024-10-19 11:40:31
1、String
1.1、创建String对象的方法(三种方式)
String s1 = "zhang"; 创建一个字符串对象zhang,名为s1
String s2 = new String(); 创建一个空字符串对象,名为s2
String s3 = new String("zhang");创建一个字符串对象zhang,名为s3
1.2、String的常用方法
方法 | 说明 |
---|---|
int length() | 返回当前字符串长度 |
int indexOf(char ch) | 查找ch字符在该字符串中第一次出现的位置 |
int indexOf(String str) | 查找str子字符串在该字符串中第一次出现的位置 |
int lastIndexOf(char ch) | 查找ch字符在该字符串中最后一次出现的位置 |
int lastIndexOf(String str) | 查找str子字符串在该字符串中最后一次出现的位置 |
String substring(int beginIndex) | 获取从beginIndex位置开始到结束的子字符串 |
String substring(int beginIndex,int endIndex) | 获取从beginIndex位置开始到endIndex位置结束的子字符串 |
String trim() | 返回去除了前后空格的字符串 |
boolean equals(Object obj) | 该字符串与指定对象比较,返回true或false |
String toLowerCase() | 将字符串转换为小写 |
String toUpperCase() | 将字符串转换为大写 |
char charAt(int index) | 获取字符串中指定位置的字符 |
String[] split(String regex,int limit) | 将字符串分割为子字符串(按分隔符分割),返回字符串数组 |
byte[] getBytes() | 将字符串转换为byte数组 |
1.3、==和equals方法的区别
==:指存储地址是否相同
equals:指值是否相同
String str1 = "zhang";
String str2 = "zhang";
String str3 = new String("zhang");
str1.equals(str2) 结果为true
str1.equals(str3) 结果为true
str1==str2 结果为true
str1==str3 结果为false
1.4、String的不可变性
String对象一旦被创建,则不能修改,是不可变的。所谓的修改是创建了新的对象,所指向的内存空间不变。
2、字符串StringBuilder
2.1、区别与建议
区别:String具有不可变性,而StringBuilder不具备
建议:当频繁操作字符串是,使用StringBuilder
2.2、StringBuilder和StringBuffer
- 二者基本相似
- StringBuffer是线程安全的,StringBuilder则没有,所以性能略高
2.3、String常用方法
详情请看API文档
最新文章
- SharePoint2016母版页的直接依赖项的数目限制超过10的限制解决方案Direct Dependencies Limit with Master page User Controls
- .net预览功能
- c语言中三个点的解释 : variadic
- iOS多线程 GCD常见用法
- Android性能优化之一:ViewStub
- Webbench网站压力测试
- 关于OOM那些事儿
- 普通Windows控制台窗口运行nmake编译VC
- HTML5 简单画图,切片,变形
- 在内核外编写的linux驱动程序MAKEFILE
- IsPostBack and DropdownList.
- [转载]浅析Windows安全相关的一些概念
- IOS学习之路十九(JSON与Arrays 或者 Dictionaries相互转换)
- 网络IO超时的几种实现
- django 2.接口之工作原理
- ie浏览器多开-----同时登陆多个账号
- Spring Boot 系列(九)数据层-集成Spring-data-jpa
- JDK JRE JVM的关系
- sublime phpfmt 的格式化
- 基于TensorFlow的简单验证码识别
热门文章
- ORB-SLAM3论文阅读:ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual-Inertial and Multi-Map SLAM
- Python+Requests+Xpath实现动态参数获取实战
- Java中Integer类型的整数值的大小比较
- C++第四十七篇 -- VS2017带参数启动调试程序
- 解决跨网段intouch嵌入视频问题
- SQL Challenges靶机
- awk文本
- C++ //拷贝构造函数调用时机//1.使用一个已经创建完毕的对象来初始化一个新对象 //2.值传递的方式给函数参数传值 //3.值方式返回局部对象
- markdown的摘要测试
- Microservices==>;Service Mesh==>;Serverless,走马观花