java字符串(String和StringBuilder)
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文档
java字符串(String和StringBuilder)的更多相关文章
- 探秘Java中String、StringBuilder以及StringBuffer
探秘Java中String.StringBuilder以及StringBuffer 相信String这个类是Java中使用得最频繁的类之一,并且又是各大公司面试喜欢问 到的地方,今天就来和大家一起学习 ...
- Java字符串String
Java字符串String 我们知道Java的字符窜是Immutable(不可变)的,一旦创建就不能更改其内容了:平常我们对字符串的操作是最多的,其实对字符串的操作,返回的字符串都是新建的字符串对象, ...
- Java字符串String 集合的迭代器
Java字符串String 我们知道Java的字符窜是Immutable(不可变)的,一旦创建就不能更改其内容了:平常我们对字符串的操作是最多的,其实对字符串的操作,返回的字符串都是新建的字符串对象, ...
- java中字符串String、StringBuilder、StringBuffer的常用方法
String的常用方法: public static void main(String[] args) { String str = "Hello world!"; // 获取字符 ...
- java中String、StringBuilder、StringBuffer三者的区别
在Java项目开发中,字符串是最长使用的数据类型,而有关字符串的String.StringBuilder.StringBuffer三者又常常让人分不清楚什么时候该使用哪个. 特此整理一下. Strin ...
- Java中String、StringBuilder以及StringBuffer
原文出处: 海子 相信String这个类是Java中使用得最频繁的类之一,并且又是各大公司面试喜欢问到的地方,今天就来和大家一起学习一下String.StringBuilder和StringBuffe ...
- Java基础 -- String,StringBuilder,StringBuffer三者的区别
结论 1-String,StringBuilder,StringBuffer 之间的区别主要是在两个方面,即运行速度和线程安全这两方面: 首先说运行速度,或者说是执行速度,在这方面运行速度快慢为:St ...
- java中String与StringBuilder的区别
相信大家对 String 和 StringBuffer 的区别也已经很了解了,但是估计还是会有很多同志对这两个类的工作原理有些不清楚的地方,今天我在这里重新把这个概念给大家复习一下,顺便牵出 J2SE ...
- java 字符串String
在 Java 中,字符串被作为 String 类型的对象处理. String 类位于 java.lang 包中.默认情况下,该包被自动导入所有的程序. 创建 String 对象的方法: 只要是双引号标 ...
- Java 字符串 String
什么是Java中的字符串 在 Java 中,字符串被作为 String 类型的对象处理. String 类位于 java.lang 包中.默认情况下,该包被自动导入所有的程序. 创建 String 对 ...
随机推荐
- 【剑指offer】58 - II. 左旋转字符串
剑指 Offer 58 - II. 左旋转字符串 知识点:字符串: 题目描述 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部.请定义一个函数实现字符串左旋转操作的功能.比如,输入字符串 ...
- js表单插件
参考:https://www.html5tricks.com/category/jquery-plugin/jquery-form
- bash shell 遍历一个数组
var[@] 数组的一个元素 var=("first" "second" "three") for str in ${var[@]}; d ...
- Window安装构建神器Jenkins
Jenkins是什么? Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建.测试和部署软件.支持各种运行方式,可通过系统包.Docker 或者通过一个独立的 Java 程 ...
- debian 9安装细节
1.安装KDE桌面 2.开机桌面正常启动,首先在grub启动界面,按"e"键,在linux......quiet后面加上nomodeset,然后进入桌面,在终端输入: su -vi ...
- mysql免安装版下载及安装教程
第一步:下载 下载地址:http://dev.mysql.com/downloads/mysql/ 点击图中红色箭头Archives,可以下载自己想要的mysql版本,如图: 下载后解压,放在自己想要 ...
- [考试总结]noip模拟22
又发现模拟 \(22\) 的总结也咕掉了,现在补上它... 似乎又是gg的一场. 以为自己的部分分数打的很全,然而到后面发现自己的树剖打假了 \(\color{green}{\huge{\text{树 ...
- 'utf-8' codec can't decode byte的解决办法
参考链接:https://www.cnblogs.com/zyh19980816/p/11830065.html 问题:''utf-8' codec can't decode byte 0xa3 in ...
- spring 读取account-service中的值
account-service //main--resources--account-service.properties 文件位置 email.protocol=smtps email.host=s ...
- mapGetters 的作用__为什么mapGetter前面有...(三个点是去掉{}的作用)
参考:vuex 中关于 mapGetters 的作用 mapGetters 工具函数会将 store 中的 getter 映射到局部计算属性中.它的功能和 mapState 非常类似,我们来直接看它的 ...