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 Dubbo框架知识点梳理
Jun 26 Java/Android
图解排序算法之希尔排序Java实现
Jun 26 Java/Android
Java数组与堆栈相关知识总结
Jun 29 Java/Android
浅谈resultMap的用法及关联结果集映射
Jun 30 Java/Android
SpringBoot快速入门详解
Jul 21 Java/Android
java泛型通配符详解
Jul 25 Java/Android
SpringBoot2零基础到精通之数据库专项精讲
Mar 22 Java/Android
Java 超详细讲解hashCode方法
Apr 07 Java/Android
Qt数据库应用之实现图片转pdf
Jun 01 Java/Android
Android学习之BottomSheetDialog组件的使用
Jun 21 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
php 获得汉字拼音首字母的函数
2009/08/01 PHP
PHP字符串长度计算 - strlen()函数使用介绍
2013/10/15 PHP
linux系统下php安装mbstring扩展的二种方法
2014/01/20 PHP
php采集中国代理服务器网的方法
2015/06/16 PHP
非常有用的9个PHP代码片段
2016/04/06 PHP
php 数组字符串搜索array_search技巧
2016/07/05 PHP
超强的IE背景图片闪烁(抖动)的解决办法
2007/09/09 Javascript
Ajax+Json 级联菜单实现代码
2009/10/27 Javascript
Dreamweaver jQuery智能提示插件,支持版本提示,支持1.6api
2011/07/31 Javascript
jQuery点击tr实现checkbox选中的方法
2013/03/19 Javascript
jquery属性选择器not has怎么写 行悬停高亮显示
2013/11/13 Javascript
JQuery的ready函数与JS的onload的区别详解
2013/11/21 Javascript
JS如何将数字类型转化为没3个一个逗号的金钱格式
2014/01/27 Javascript
常见的jQuery选择器汇总
2014/11/24 Javascript
angular基于ng-alain定义自己的select组件示例
2018/02/23 Javascript
浅谈VUE单页应用首屏加载速度优化方案
2018/08/28 Javascript
BootStrap modal实现拖拽功能
2018/12/01 Javascript
vue+高德地图写地图选址组件的方法
2019/05/18 Javascript
Vue切换组件实现返回后不重置数据,保留历史设置操作
2020/07/21 Javascript
python 中文乱码问题深入分析
2011/03/13 Python
零基础写python爬虫之抓取百度贴吧并存储到本地txt文件改进版
2014/11/06 Python
python调用HEG工具批量处理MODIS数据的方法及注意事项
2020/02/18 Python
在spyder IPython console中,运行代码加入参数的实例
2020/04/20 Python
Django 解决distinct无法去除重复数据的问题
2020/05/20 Python
ASOS亚洲:ASOS Asia
2018/03/04 全球购物
爱尔兰电子产品购物网站:Komplett.ie
2018/04/04 全球购物
入党转预备思想汇报
2014/01/07 职场文书
便利店投资的创业计划书
2014/01/12 职场文书
班班通校本培训方案
2014/03/12 职场文书
计算机相关专业自荐信
2014/07/02 职场文书
党的群众路线对照检查材料思想汇报(学校)
2014/10/04 职场文书
晚会闭幕词
2015/01/28 职场文书
音乐会主持人开场白
2015/05/28 职场文书
感恩父母主题班会
2015/08/12 职场文书
用python批量解压带密码的压缩包
2021/05/31 Python
Win11怎样将锁屏账户头像图片改成动画视频
2021/11/21 数码科技