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 相关文章推荐
JPA如何使用entityManager执行SQL并指定返回类型
Jun 15 Java/Android
Java 数组内置函数toArray详解
Jun 28 Java/Android
实体类或对象序列化时,忽略为空属性的操作
Jun 30 Java/Android
JavaWeb Servlet实现网页登录功能
Jul 04 Java/Android
Java spring定时任务详解
Oct 05 Java/Android
Java练习之潜艇小游戏的实现
Mar 16 Java/Android
JavaWeb实现显示mysql数据库数据
Mar 19 Java/Android
MybatisPlus EntityWrapper如何自定义SQL
Mar 22 Java/Android
SpringBoot中使用Redis作为全局锁示例过程
Mar 24 Java/Android
Spring Cloud Netflix 套件中的负载均衡组件 Ribbon
Apr 13 Java/Android
Java线程的6种状态与生命周期
May 11 Java/Android
SpringBoot使用AOP实现统计全局接口访问次数详解
Jun 16 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/10/20 PHP
PHP 字符串正则替换函数preg_replace使用说明
2011/07/15 PHP
php观察者模式应用场景实例详解
2017/02/03 PHP
highchart数据源纵轴json内的值必须是int(详解)
2017/02/20 PHP
Tinymce+jQuery.Validation使用产生的BUG
2010/03/29 Javascript
jquery选择器(常用选择器说明)
2010/09/28 Javascript
Jquery插件 easyUI属性汇总
2011/01/19 Javascript
下拉菜单点击实现连接跳转功能的js代码
2013/05/19 Javascript
JS获取下拉列表所选中的TEXT和Value的实现代码
2014/01/11 Javascript
javascript基于DOM实现权限选择实例分析
2015/05/14 Javascript
js基于cookie方式记住返回页面用法示例
2016/05/27 Javascript
javascript的函数劫持浅析
2016/09/26 Javascript
Node.js开发教程之基于OnceIO框架实现文件上传和验证功能
2016/11/30 Javascript
JavaScript实现瀑布流以及加载效果
2017/02/11 Javascript
Angular中的$watch方法详解
2017/09/18 Javascript
Bootstrap实现翻页效果
2017/11/27 Javascript
JS加密插件CryptoJS实现的Base64加密示例
2020/08/16 Javascript
jquery拖拽自动排序插件使用方法详解
2020/07/20 jQuery
小程序自定义日历效果
2018/12/29 Javascript
深入理解es6块级作用域的使用
2019/03/28 Javascript
JS中实现浅拷贝和深拷贝的代码详解
2019/06/05 Javascript
解决Ant Design Modal内嵌Form表单initialValue值不动态更新问题
2020/10/29 Javascript
用实例说明python的*args和**kwargs用法
2013/11/01 Python
Python使用scrapy抓取网站sitemap信息的方法
2015/04/08 Python
在Python上基于Markov链生成伪随机文本的教程
2015/04/17 Python
在Python中使用PIL模块处理图像的教程
2015/04/29 Python
python实现淘宝秒杀聚划算抢购自动提醒源码
2020/06/23 Python
python+ffmpeg批量去视频开头的方法
2019/01/09 Python
Python matplotlib画图时图例说明(legend)放到图像外侧详解
2020/05/16 Python
出纳员岗位职责风险
2014/03/06 职场文书
公立医院改革实施方案
2014/03/14 职场文书
化工操作工岗位职责
2014/04/29 职场文书
诚信贷款承诺书
2014/05/30 职场文书
安全演讲稿开场白
2014/08/25 职场文书
授权委托书
2015/01/28 职场文书
可可西里观后感
2015/06/08 职场文书