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 对 ...
随机推荐
- Java集合 - 初始化写法
List的初始化方法 方法一 List<Integer> list= new ArrayList<Integer>(){{ add(1); add(2); add(3); }} ...
- P6982 [NEERC2015]Jump
P6982 [NEERC2015]Jump 题意 给你一个未知的 01 串,每次可以输出询问一个 01 串,如果该串中正确的个数刚好等于 \(n\) 或者 \(n/2\) ,将会返回相应的答案,否则会 ...
- [HNOI2008]GT考试 题解
这题比较难搞.考虑设计状态:\(f_{i,j}\) 表示当前考虑到 \(X_i\) 位,且 \(X\) 的后 \(j\) 位刚好与 \(A\) 列匹配时的方案数.最终答案为 \(\sum_{i=0}^ ...
- [NOIp2012]疫情控制 题解
好久没更,强迫自己写一篇. 神 tm 大预言家出的题 注意到如果 \(x\) 小时可以控制住疫情,则 \(\forall x'>x\) 必然也可以控制住疫情,显然答案具有单调性,可以二分答案. ...
- 流畅的python--函数
# # -*- coding: utf-8 -*-#from abc import ABC ,abstractclassmethodfrom collections import namedtuple ...
- springmvc学习指南 之---第25篇 Spring Bean有三种配置方式
writed by不要张艳涛, 从tomcat转到了springmvc 现在开始有点不知道该看什么书了,看完了springmvc 学习指南之后 又查了一些书,好多都是内容相近,在找书的过程之中,发现s ...
- js学习笔记之this指向及形参实参
var length = 10 function fn () { console.log(this.length) } var obj = { length: 5, method (fn) { fn( ...
- Sth about Educational DP Contest
Contest Website : atcoder.jp/contests/dp \[\begin{array}{c|C|c|c} TaskNum & TaskName & Statu ...
- .Netcore HttpClient源码探究
源码搜索与概述 搜索HttpClient源码 https://source.dot.net/#System.Net.Http/System/Net/Http/HttpClient.cs 1.HttpC ...
- Java流程控制04——Switch选择结构
switch 多选择结构 switch case 语句判断一个变量与一系列值中某个值是否相等,每个支撑位一个分支. switch语句中的变量类型可以是: byte short int 或者 char ...