JAVA API 实用类 String详解

网友投稿 292 2022-12-03

JAVA API 实用类 String详解

目录String类nRHAxC字符串的概念java String的特殊之处String类的基本方法字符串创建常用方法总结

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);//字典序比较 如果ab返回正数

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()//大写

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更http://多内容!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java spring定时任务详解
下一篇:Java正则表达式基础语法详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~