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 相关文章推荐
详解SpringBoot异常处理流程及原理
Jun 21 Java/Android
SpringBoot读取Resource下文件的4种方法
Jul 02 Java/Android
JavaWeb 入门:Hello Servlet
Jul 16 Java/Android
gateway与spring-boot-starter-web冲突问题的解决
Jul 16 Java/Android
dubbo集成zipkin获取Traceid的实现
Jul 26 Java/Android
SpringBoot2零基础到精通之异常处理与web原生组件注入
Mar 22 Java/Android
SpringCloud Function SpEL注入漏洞分析及环境搭建
Apr 08 Java/Android
详解Flutter网络请求Dio库的使用及封装
Apr 14 Java/Android
mybatis 获取更新记录的id
May 20 Java/Android
Android 中的类文件和类加载器详情
Jun 05 Java/Android
maven 解包依赖项中的文件的解决方法
Jul 15 Java/Android
基于Android10渲染Surface的创建过程
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
无法载入 mcrypt 扩展,请检查 PHP 配置终极解决方案
2011/07/18 PHP
Yii框架组件和事件行为管理详解
2016/05/20 PHP
Laravel学习教程之本地化模块
2017/08/18 PHP
PHP基于GD2函数库实现验证码功能示例
2019/01/27 PHP
php实现简单四则运算器
2020/11/29 PHP
优化innerHTML操作(提高代码执行效率)
2011/08/20 Javascript
由点击页面其它地方隐藏div所想到的jQuery的delegate
2013/08/29 Javascript
jQuery对象初始化的传参方式
2015/02/26 Javascript
Highcharts使用简例及异步动态读取数据
2015/12/30 Javascript
JavaScript SweetAlert插件实现超酷消息警告框
2016/01/28 Javascript
Bootstrap3学习笔记(二)之排版
2016/05/20 Javascript
移动端翻页插件dropload.js(支持Zepto和jQuery)
2016/07/27 Javascript
jQuery插件EasyUI实现Layout框架页面中弹出窗体到最顶层效果(穿越iframe)
2016/08/05 Javascript
jQuery如何跳转到另一个网页 就这么简单
2016/12/28 Javascript
js 获取今天以及过去日期
2017/04/11 Javascript
详解Vue2中组件间通信的解决全方案
2017/07/28 Javascript
js实现移动端轮播图效果
2020/12/09 Javascript
JavaScript实现页面中录音功能的方法
2019/06/04 Javascript
layer弹出层倒计时关闭的实现方法
2019/09/27 Javascript
浅谈Three.js截图并下载的大坑
2019/11/01 Javascript
js判断鼠标移入移出方向的方法
2020/06/24 Javascript
JS时间戳与日期格式互相转换的简单方法示例
2021/01/30 Javascript
[00:34]TI7不朽珍藏III——地穴编织者不朽展示
2017/07/15 DOTA
python 装饰器功能以及函数参数使用介绍
2012/01/27 Python
python文件读写操作与linux shell变量命令交互执行的方法
2015/01/14 Python
在Python运行时动态查看进程内部信息的方法
2019/02/22 Python
python中取绝对值简单方法总结
2020/07/24 Python
html5 canvas移动浏览器上实现图片压缩上传
2016/03/11 HTML / CSS
香港艺人陈冠希创办的潮流品牌:JUICESTORE
2021/03/04 全球购物
经典大学生求职信范文
2014/01/06 职场文书
小班评语大全
2014/05/04 职场文书
县人大领导班子四风对照检查材料思想汇报
2014/10/09 职场文书
2015年护理工作总结范文
2015/04/03 职场文书
复兴之路纪录片观后感
2015/06/02 职场文书
摩登时代观后感
2015/06/03 职场文书
深入理解以DEBUG方式线程的底层运行原理
2021/06/21 Java/Android