总结 String、StringBuffer与StringBuilder类中常用的方法
一、String类的常用方法
1.获取:
1)获取字符串str长度
int i = str.length();
2)根据位置(index)获取字符
char c = str.charAt(index);
3)获取字符在字符串中的位置
int i =str.indexOf(char ch); //获取的是第一次出现的位置
int i =str.indexOf(char ch ,int index); //从位置index后获取ch出现的第一次的位置
int i =str.indexOf(str1) ;// 获取str1 在str 第一次出现的位置
int i=str.indexOf(str1, index0);//获取从index位置后str第一次出现的位置
int i = str.lastIndexOf(ch或者 str1) //获取ch或者str1最后出现的位置 2.判断
1)判断是否以指定字符串str1开头、结尾
boolean b = str.startWith(str1) //开头
boolean b = str.endsWith(str1) //结尾
2)判断是否包含某一子串
boolean b = str.contains(str1)
3)判断字符串是否有内容
boolean b = str.isEmpty();
4)忽略大小写判断字符串是否相同
boolean b = str.equalsIgnoreCase(str1); 3.转换
1)将字符数组 -char[] ch- 转化成字符串
i. String str =new String(ch); //将整个数组变成字符串
ii. String str =new String(ch,offset,count)
//将字符数组中的offset位置之后的count个元素转换成字符串
1. String str =String.valueOf(ch);
2. String str =String.copyValueOf(ch,offset,count);
3. String str =String.copyValueOf(ch);
2)将字符串转化为字符数组
char[] ch = str.toCharAarray();
3)将字节数组转换为字符串
同上1) 传入类型变为Byte[];
4)将字符串转换为字节数组
Byte[] b = str.toByteArray();
5)将基本数据类型装换成字符串
String str = String.valueOf(基本数据类型数据);
若是整形数据可以用 字符串连接符 + ""
eg : String str = 5+"";
得到字符串 “5” 4.替换 replace();
str.replace(oldchar,newchar)//将str里oldchar变为newchar
str.replace(str1,str2)//将str中str1,变为str2 5.切割 split();
String[] str1 = str.split(","); //将str用 ","分割成String数组 6.子串
String s = str.substring(begin);
// s 为 str 从begin位置到最后的字符串
String s = str.substring(begin,end)
//s 是 str 从begin 位置到end 位置的字符串 7.转换大小写:
String s1 = str. toUpperCase(); //将str变成大写字母
String s2 = str. toLowerCase(); //将str变成小写字母
除去空格:
String s =str.trim();
比较:
int i = str.compareTo(str1);
二、 StringBuffer常用方法
/***StringBuffer 是一个容器,长度可变,可以直接操作字符串,用toString方法变为字符串 **/
1.存储
1)append(); //将指定数据加在容器末尾,返回值也是StringBuffer
eg:
StringBuffer sb = new StringBuffer(//可以加str);
StringBuffer sb1=ab.append(数据) //数据可以任何基本数据类型
注:此时sb == sb1他们是同一对象,意思是可以不用新建sb1直接 sb.append(数据) 使用时之后接使用sb
2)insert();// 插入
sb.insert(index ,数据);
2.删除
sb.delete(start ,end); //删除start到end的字符内容
//注意:这里的所有包含index的操作都是含头不含尾的
sb.deleteCharAt(index);//删除指定位置的字符
//清空StringBuffer缓冲区
sb=new StringBuffer();
sb.delete(0,sb.length());
3.获取
char c = sb.charAt(index);//获取index上的字符
int i = sb.indexOf(char)://获取char字符出现的第一次位置
//与 String 中的获取方法一致参考前面 4.修改 String类中无次操作方法
sb =sb.replace(start,end,string)//将从start开始到end的字符串替换为string;
sb.setCharAr(index ,char);//将index位置的字符变为新的char 5.反转 sb.reverse();//将sb倒序
6. getChars(int srcBegin,int srcEnd,char[] ch,int chBegin)
//将StringBuffer缓冲区中的指定数据存储到指定数组中
三、StringBuilder StringBuilder 和 StringBuffer 方法和功能完全一致只是一个是早期版本(StringBuffer)是线程安全的,由于发现利用多线程堆同一String数据操作的情况是很少的,为了提高效率idk1.5以后有StringBuilder 类。意思是多线程操作同一字符串的时候用StringBuffer 安全,现在一般用StringBuilder
参考:https://blog.csdn.net/qq_34107571/article/details/80098055
总结 String、StringBuffer与StringBuilder类中常用的方法的更多相关文章
- StringBuilder类中的重要方法
下面的API注解包含了StringBuilder类中的重要方法 append(boolean b):将 boolean 参数的字符串表示形式追加到序列. append(char c):将 char 参 ...
- String类中常用的方法
@Test public void demo(){ // 以下为String中的常用的方法及注释, 最常用的注释前有**标注 String s = "abcdefg123456"; ...
- String类中常用的方法(重要)
1.字符串与字节 public String(byte[] byte); 将全部字节变成字符串 public String (byte[] byte,int offset,int length) 将部 ...
- 2017.12.11 String 类中常用的方法
1.编写程序将 "jdk" 全部变为大写,并输出到屏幕,截取子串"DK" 并输出到屏幕 package demo; import java.util.Scann ...
- Java中String类中常用的方法
1.字符串与字符数组的转换 用toCharArray()方法将字符串变为字符数组 String str = "abcdef"; char c[] = str.tocharArray ...
- 27 string类中常用的方法列表
1. 获取方法 int length() 获取字符串的长度 char charAt(int index) 获取特定位置的字符 (角标越界) int indexOf(String str) 获取 ...
- java数学函数Math类中常用的方法
Math类提供了常用的一些数学函数,如:三角函数.对数.指数等.一个数学公式如果想用代码表示,则可以将其拆分然后套用Math类下的方法即可. Math.abs(12.3); ...
- 浅谈java中的String、StringBuffer、StringBuilder类的区别以及关系
在java中最常见的使用就是对字符串的操作:首先先说一下对字符串的理解:字符串就是一连串字符序列,Java提供了String和StringBuffer两个类来封装字符串,并提供一系列方法来操作字符串对 ...
- Java ——String 类 StringBuffer 和 StringBuilder类 随机字符
本节重点思维导图 String 类 创建字符串 String str = "I love ai"; 在代码中遇到字符串常量时,"I love ai",编译器会使 ...
随机推荐
- windows进入指定目录
1.进入cmd 2.输入盘符比如:E: 3.切换目录 cd E:\progect\Firstdjango 实例:
- mysql查看数据库所占用的空间
查询某个表所占用的磁盘空间大小: SELECT CONCAT(ROUND(SUM(data_length/1024/1024),2),'MB') AS data_length_MB, CONCAT(R ...
- handlebars基础及循环使用示例
var source = "<p>Hello, my name is {{name}}. I am from {{hometown}}. I have " + &quo ...
- vim复制粘贴导致多行出现#号解决办法
在vim内复制多行假如复制的行带有#号会导致其他不带#号的行自动加# 解决办法,输入一下命令再粘贴即可 :set paste
- java处理jqueryGantt甘特图数据的task.depends依赖规则方法
前端采用jqueryGantt,github地址为:https://github.com/robicch/jQueryGantt 原以为后端只需要简单地保存甘特图任务列表和返回任务列表就行了. 但功能 ...
- Hadoop 部署之 HBase (四)
目录 一.HBase是什么 HBase 和 HDFS HBase的存储机制 二.HBase 集群部署 1.下载安装 2.配置 HBase 环境变量 三.HBase 配置(namenode01) 1.配 ...
- 19 个让 MySQL 效率提高 3 倍的 SQL 优化技巧
优化成本: 硬件>系统配置>数据库表结构>SQL及索引 优化效果: 硬件<系统配置<数据库表结构<SQL及索引 本文我们就来谈谈 MySQL 中常用的 SQL 优化 ...
- 从0开始自己用C语言写个shell__01_整体的框架以及fork和exec族函数的理解
最近才忙完了一个操作系统的作业,让我们用C语言实现一个Shell.总的来说,其实就是让我们 对系统调用有比较深的了解. 首先 介绍一下我的Shell 所实现的功能.1.运行可执行程序 即输入某个 标志 ...
- linux系统,CentOs7加新硬盘
1,打开Vmware软件,添加一块新的硬盘,然后一直下一步. 2.通过CRT等终端软件,连接到机器 [root@Mysql ~]# lsblk //检查一下硬盘分区信息 [root@Mysql ...
- docker中如何部署mysql
这篇博文讲很详细了. 链接