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方法重载和方法重写的区别到底在哪?
Jun 11 Java/Android
Java实战之用Swing实现通讯录管理系统
Jun 13 Java/Android
详解Java实现设计模式之责任链模式
Jun 23 Java/Android
解决SpringBoot跨域的三种方式
Jun 26 Java/Android
logback 实现给变量指定默认值
Aug 30 Java/Android
java objectUtils 使用可能会出现的问题
Feb 28 Java/Android
JAVA长虹键法之建造者Builder模式实现
Apr 10 Java/Android
详细介绍Java中的CyclicBarrier
Apr 13 Java/Android
详解Spring Security如何在权限中使用通配符
Jun 28 Java/Android
Java多线程并发FutureTask使用详解
Jun 28 Java/Android
阿里面试Nacos配置中心交互模型是push还是pull原理解析
Jul 23 Java/Android
HttpClient实现表单提交上传文件
Aug 14 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 Document 代码注释规范
2009/04/13 PHP
php动态实现表格跨行跨列实现代码
2012/11/06 PHP
支持中文和其他编码的php截取字符串函数分享(截取中文字符串)
2014/03/13 PHP
PHP制作3D扇形统计图以及对图片进行缩放操作实例
2014/10/23 PHP
PHP 生成N个不重复的随机数
2015/01/21 PHP
php实现登录tplink WR882N获取IP和重启的方法
2016/07/20 PHP
THinkPHP获取客户端IP与IP地址查询的方法
2016/11/14 PHP
thinkphp 字母函数详解T/I/N/D/M/A/R/U
2017/04/03 PHP
记Laravel调用Gin接口调用formData上传文件的实现方法
2019/12/12 PHP
javascript 异常处理使用总结
2009/06/21 Javascript
基于Jquery的实现回车键Enter切换焦点
2010/09/14 Javascript
《JavaScript高级程序设计》阅读笔记(三) ECMAScript中的引用类型
2012/02/27 Javascript
javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图
2013/01/09 Javascript
jquery实现点击文字可编辑并修改保存至数据库
2014/04/15 Javascript
vue-cli单页应用改成多页应用配置详解
2017/07/14 Javascript
JavaScript数组排序reverse()和sort()方法详解
2017/12/24 Javascript
javaScript实现游戏倒计时功能
2018/11/17 Javascript
原生javascript实现连连看游戏
2019/01/03 Javascript
Python中用函数作为返回值和实现闭包的教程
2015/04/27 Python
python通过socket实现多个连接并实现ssh功能详解
2017/11/08 Python
无法使用pip命令安装python第三方库的原因及解决方法
2018/06/12 Python
对python中的高效迭代器函数详解
2018/10/18 Python
利用Django提供的ModelForm增删改数据的方法
2019/01/06 Python
Lookfantastic挪威官网:英国知名美妆购物网站
2017/07/26 全球购物
Flesh Beauty官网:露华浓集团旗下彩妆品牌
2021/02/15 全球购物
英国森林假期:Forest Holidays
2021/01/01 全球购物
中国电子产品批发商/跨境电商/外贸网:Sunsky-online
2020/04/20 全球购物
上海微创软件面试题
2012/06/14 面试题
2014年小班元旦活动方案
2014/02/16 职场文书
自考毕业自我鉴定
2014/03/18 职场文书
2014办公室年度工作总结
2014/12/09 职场文书
酒店人事主管岗位职责
2015/04/11 职场文书
2015年安置帮教工作总结
2015/05/22 职场文书
2016党员学习作风建设心得体会
2016/01/21 职场文书
python中pandas.read_csv()函数的深入讲解
2021/03/29 Python
Windows下使用Nginx+Tomcat做负载均衡的完整步骤
2021/03/31 Servers