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 对 ...
随机推荐
- 使用pymysql循环删除重复数据,并修改自增字段偏移值
创建表: CREATE TABLE `info` ( `id` tinyint NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, PRIMAR ...
- SpringBoot总结之事务和AOP
一.事务 在Spring Boot中,当我们使用了spring-boot-starter-jdbc或spring-boot-starter-data-jpa依赖的时候,框架会自动默认分别注入DataS ...
- Redis学习——简介
一.Redis简介 Redis是一种基于键值对(key-value)的NoSQL数据库,与很多键值对数据库不同的是,Redis中的值可以是由string(字符串).hash(哈希).list(列表). ...
- 分布式ID生成器(CosId)的设计与实现
分布式ID生成器(CosId)设计与实现 CosId 简介 CosId 旨在提供通用.灵活.高性能的分布式 ID 生成器. 目前提供了俩类 ID 生成器: SnowflakeId : 单机 TPS 性 ...
- odoo里的rpc用法
import odoorpcdb_name = 'test-12'user_name = 'admin'password = 'admin'# Prepare the connection to th ...
- Hexo搭建静态博客站点
什么是Hexo? Hexo 是一个快速.简洁且高效的博客框架.Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页. 本文将介绍如何在没有域名和云主机的 ...
- Volitle
缓存一致性协议 最出名的是Intel的MESI协议,该协议保证了每个缓存中使用的共享变量的副本是一致的.其思想是:当CPU写数据时,如果发现操作的变量是共享变量,即在其他CPU中也存在该变量的副本,会 ...
- vue el-table 调整 行间距
- java封装基础详解
java封装基础详解 java的封装性即是信息隐藏,把对象的属性和行为结合成一个相同的独立单体,并尽可能地隐藏对象的内部细节. 封装的特性是对属性来讲的. 封装的目标就是要实现软件部件的"高 ...
- 离线安装zadig
官网:https://koderover.com/ 官方给的离线安装问题有些问题,这里记录下自己离线安装的一些过程. 整体安装思路: 根据官方给出的helm安装方式以及离线安装方式结合而来. 通过官方 ...