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 相关文章推荐
Java内存模型之happens-before概念详解
Jun 13 Java/Android
java Nio使用NioSocket客户端与服务端交互实现方式
Jun 15 Java/Android
Java数据结构之链表相关知识总结
Jun 18 Java/Android
Spring boot应用启动后首次访问很慢的解决方案
Jun 23 Java/Android
Java反应式框架Reactor中的Mono和Flux
Jul 25 Java/Android
Java数据开发辅助工具Docker与普通程序使用方法
Sep 15 Java/Android
Java spring定时任务详解
Oct 05 Java/Android
Java 获取Word中所有的插入和删除修订的方法
Apr 06 Java/Android
Java设计模式之代理模式
Apr 22 Java/Android
SpringBoot全局异常处理方案分享
May 25 Java/Android
SpringCloud中分析讲解Feign组件添加请求头有哪些坑梳理
Jun 21 Java/Android
JDK8中String的intern()方法实例详细解读
Sep 23 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
PHP 上传文件的方法(类)
2009/07/30 PHP
Windows和Linux中php代码调试工具Xdebug的安装与配置详解
2014/05/08 PHP
PHP has encountered a Stack overflow问题解决方法
2014/11/03 PHP
php中return的用法实例分析
2015/02/28 PHP
php获取Google机器人访问足迹的方法
2015/04/15 PHP
PHP基于自定义类随机生成姓名的方法示例
2017/08/05 PHP
Yii2处理密码加密及验证的方法
2019/05/12 PHP
PHP基于array_unique实现二维数组去重
2020/07/14 PHP
jquery zTree异步加载简单实例分享
2013/02/05 Javascript
JS HTML5 音乐天气播放器(Ajax获取天气信息)
2013/05/26 Javascript
jquery.form.js用法之清空form的方法
2014/03/07 Javascript
jQuery 实现自动填充邮箱功能(带下拉提示)
2014/10/14 Javascript
贴近用户体验的Jquery日期、时间选择插件
2015/08/19 Javascript
深入理解jquery跨域请求方法
2016/05/18 Javascript
第七篇Bootstrap表单布局实例代码详解(三种表单布局)
2016/06/21 Javascript
BootStrap学习系列之布局组件(下拉,按钮组[toolbar],上拉)
2017/01/03 Javascript
微信小程序项目总结之记账小程序功能的实现(包括后端)
2019/08/20 Javascript
js验证账户名是否重复
2020/05/26 Javascript
Python命令启动Web服务器实例详解
2017/02/23 Python
python 调用c语言函数的方法
2017/09/29 Python
Django中反向生成models.py的实例讲解
2018/05/30 Python
Python 新建文件夹与复制文件夹内所有内容的方法
2018/10/27 Python
在Python中给Nan值更改为0的方法
2018/10/30 Python
解决Pycharm界面的子窗口不见了的问题
2019/01/17 Python
很酷的python表白工具 你喜欢我吗
2019/04/11 Python
python用for循环求和的方法总结
2019/07/08 Python
Python Pandas 箱线图的实现
2019/07/23 Python
Python如何脚本过滤文件中的注释
2020/05/27 Python
利用python中的matplotlib打印混淆矩阵实例
2020/06/16 Python
CSS3 Notes: -webkit-box-reflect实现倒影的实例
2016/12/08 HTML / CSS
美国最大的网上冲印店:Shutterfly
2017/01/01 全球购物
Scholastic父母商店:儿童书籍
2017/01/01 全球购物
德国2018年度最佳在线药房:Bodfeld Apotheke
2019/11/04 全球购物
升职感谢信
2015/01/22 职场文书
医德医风学习心得体会
2016/01/25 职场文书
个人落户申请书怎么写?
2019/06/28 职场文书