JAVA API 实用类 String详解


Posted in Java/Android onOctober 05, 2021

String类

字符串的概念

简单来说字符串就是由多个字符(char)来组成的一串,我们自然可以用char[] 数组来保存一个字符串.但是在操作字符串时,比方说插入一个字符到字符串中,需要实现后移等操作.为了应对这个问题,C++引入string类,类似的Java也有String类.String类位于java.lang中于是不需要import导入包.

Java String的特殊之处

假设我们定义4个字符串,让他们的内容相同,唯一的不同是是否用new语句。这里需要注意的一点是为了提高运行速度,Java采用了“对象池”来存放字符串常量,即开辟一个专门的字符串池来存放字符串,创建一个字符串时,系统将会在字符串池中查找有无相同内容的字符串存在,如果有直接使用该对象。也就是说str1 与str2指向的是同一个字符串。而str3、str4通过new产生 指向的不是一个字符串。更为值得注意的是String内容的不可变性。也就是说每次改变字符串内容都会产生一个新的对象,或者指向字符串池中已经存在的字符串对象.

String str1="一个字符串";
String str2="一个字符串";
String str3=new String("一个字符串");
String str4=new String("一个字符串");
str1="另外一个字符串";//原来的对象"一个字符串"仍然存在,会造成内存消耗

String类的基本方法

字符串创建

1. String()//生成一个空串
 String a=new String();
2. String(String original)//原有字符串直接复制
String a="java",String b= new String(a);
3.String(char[],start,count)//字符串数组赋值 后面两参数可以省略 分别为开始的位置和长度
char ch[]={'a','b','v','c','d','e'};
String s1=new String(ch);//s1=abvcde;
String s2=new String (ch,2,3)//s2=vcd;

常用方法

//获取长度
String s="sabsda";
int cnt=s.length();
boolean equals(a,b);//比较两个字符串内容是否相同,区分大小写
boolean equalsIgoreeCase()//无视大小写比较
/*与==的区别是equal只判断内容是否相同,而==比较是否指向同一个对象*/
String str1="一个字符串";
String str2="一个字符串";
String str3=new String("一个字符串");
String str4=new String("一个字符串");
equals(str1,str2)==1
(str1==str2)==1
equals(str3,str4)==1
(str3==str4)==0;
int compareTO(a,b);//字典序比较 如果a<b返回负数 a==b返回0 a>b返回正数
int compareTOUgnoreCase();//不区分大小写
boolean startsWith(string a);//是否以a作为开头
boolean endsWiith(String a);// 是否以a作为结尾
//字符串的查找
1.int indexOf(char ch)
2.int indexOf(char ch,int position);
//字符串的修改
//需要注意的是,字符串内容具有不可改变性,如果硬性改变会产生新的字符串但是原串不发生改变.所以所有改变字符串的操作都会返回一个新的字符串对象而不是再原串上修改
1.连接 String str="This".concat("a") concat类似于 +;
2 替代 str.replace('a','b')将str中a替换成b
3 去除头部与尾部空格 str.trim();
4 str.toLowerCase()//小写
5 str.toUUpperCase()//大写

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注三水点靠木的更多内容!

Java/Android 相关文章推荐
SpringCloud Alibaba 基本开发框架搭建过程
Jun 13 Java/Android
在Java中Collection的一些常用方法总结
Jun 13 Java/Android
Springboot如何使用logback实现多环境配置?
Jun 16 Java/Android
Java中多线程下载图片并压缩能提高效率吗
Jul 01 Java/Android
swagger如何返回map字段注释
Jul 03 Java/Android
Java数据开发辅助工具Docker与普通程序使用方法
Sep 15 Java/Android
Java 超详细讲解ThreadLocal类的使用
Apr 07 Java/Android
Elasticsearch Recovery 详细介绍
Apr 19 Java/Android
Java 写一个简单的图书管理系统
Apr 26 Java/Android
mybatis 获取更新记录的id
May 20 Java/Android
SpringBoot使用ip2region获取地理位置信息的方法
Jun 21 Java/Android
java中如何截取字符串最后一位
Jul 07 Java/Android
SpringCloud之@FeignClient()注解的使用方式
Sep 25 #Java/Android
springboot中rabbitmq实现消息可靠性机制详解
Sep 25 #Java/Android
Spring Cloud 中@FeignClient注解中的contextId属性详解
Sep 25 #Java/Android
关于springboot配置druid数据源不生效问题(踩坑记)
Sep 25 #Java/Android
Java使用Unsafe类的示例详解
Sep 25 #Java/Android
Spring-cloud Config Server的3种配置方式
Sep 25 #Java/Android
MyBatis-Plus 批量插入数据的操作方法
Sep 25 #Java/Android
You might like
第十三节--对象串行化
2006/11/16 PHP
drupal 代码实现URL重写
2011/05/04 PHP
php模拟post上传图片实现代码
2016/06/24 PHP
PHP中功能强大却很少使用的函数实例小结
2016/11/10 PHP
Centos7 Yum安装PHP7.2流程教程详解
2019/07/02 PHP
html 锁定页面(js遮罩层弹出div效果)
2009/10/27 Javascript
JavaScript Cookie的读取和写入函数
2009/12/08 Javascript
js里的prototype使用示例
2010/11/19 Javascript
浅析js中取绝对值的2种方法
2013/07/09 Javascript
2014 年最热门的21款JavaScript框架推荐
2014/12/25 Javascript
jquery判断至少有一个checkbox被选中的方法
2015/06/05 Javascript
JavaScript中解析JSON数据的三种方法
2015/07/03 Javascript
js实现textarea限制输入字数
2017/02/13 Javascript
JavaScript之class继承_动力节点Java学院整理
2017/07/03 Javascript
vue 系列——vue2-webpack2框架搭建踩坑之路
2017/12/22 Javascript
微信小程序之onLaunch与onload异步问题详解
2019/03/28 Javascript
js实现自动播放匀速轮播图
2020/02/06 Javascript
vue 组件简介
2020/07/31 Javascript
[01:04:05]Mineski vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python 判断一个进程是否存在
2009/04/09 Python
利用python打印出菱形、三角形以及矩形的方法实例
2017/08/08 Python
Python使用Flask-SQLAlchemy连接数据库操作示例
2018/08/31 Python
Python3 修改默认环境的方法
2019/02/16 Python
使用Pytorch来拟合函数方式
2020/01/14 Python
Python能做什么
2020/06/02 Python
Python filter()及reduce()函数使用方法解析
2020/09/05 Python
Pycharm2020最新激活码|永久激活(附最新激活码和插件的详细教程)
2020/09/29 Python
澳大利亚领先的宠物用品商店:VetSupply
2017/09/08 全球购物
来自全球大都市的高级街头服饰:Pegador
2018/01/03 全球购物
Quiksilver荷兰官方网站:冲浪和滑雪板
2019/11/16 全球购物
大学生个人求职信范文
2013/09/21 职场文书
高中生操行评语
2014/04/25 职场文书
比赛口号大全
2014/06/10 职场文书
学雷锋志愿者活动总结
2014/06/27 职场文书
党员三严三实心得体会
2014/10/13 职场文书
如何利用js在两个html窗口间通信
2021/04/27 Javascript