栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java String类常用方法解释+用法大全

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java String类常用方法解释+用法大全

喜欢的点赞支持一下~

String类

public final class String
extends Object
implements Serializable, Comparable, CharSequence

因为有final修饰,所以String类不能有子类,用户不能扩展String类。

构造String对象

String对象也叫字符串对象
①常量对象
String常量也是对象,用英文双引号括起来的字符序列,如"hi",“12.48”,"你好"等。
Java把用户程序中的String常量放入常量池中

String a1="hi";
String a4="hi";
System.out.println(a1==a4); //true

②String对象
可以使用String类声明对象并创建对象。

String s=new String("hi");
String t=new String("hi");
System.out.println(s==t); //false  比较地址
System.out.println(s.equals(t));//true  比较内容

创建对象s的过程,new运算符首先分配内存空间并在内存空间放入字符序列,然后计算引用,将引用赋值给字符串对象s。凡是new运算符构造出的对象都不在常量池

当String t="你好"时,会把String常量”你好“的引用赋值给 t对象。

可以使用String常量的时候尽量不要使用new String对象,这样赋值可以省下内存空间。

String类中两个常用的构造方法。
(1)String( char[] c) 用一个字符数组a创建一个String对象,

char[] c={'J','a','v','a'};
String str=new String(c);

相当于:String str = new String(“Java”);
(2)String(char[] a , int startIndex, int count) 提取字符数组a中的一部分字符创建一个String对象,参数startIndex和count分别指定在a中提取字符的起始位置和从该位置开始截取的字符个数,如下:

char[] c={'J','a','v','a'};
String s=new String (c,1,3);
System.out.println(s); //输出 ava

字符串的并置
String对象可以用“+”进行并置,首尾相接得到一个新的String对象。如

String a1="hi";
String a9="h";
String a10="i";
String a11=a9+"i";
String a12="h"+"i";
System.out.println(a1==a11); //false
System.out.println(a1==a12); //true
System.out.println(a1.equals(a11)); //true
System.out.println(a1.equals(a12)); //true

注意:参加并置运算的String对象只要有一个是变量,那么Java就会在动态区所得到的新String对象的实体和引用。如果都是常量进行并置运算,那么得到的仍然是常量,如果常量池没有这个常量就放入常量池,如果有就得到常量池的已存在的引用。


String类的常用方法

①长度
public int length()
含义:是获取一个String对象的字符序列的长度,如下:

String s="java 你好";
String t="hallo";
System.out.println(s.length());  //输出:7

②相等
public boolean equals(String v)
含义:String对象调用equals(String v)方法比较当前String对象的字符序列是否与参数v指定的String对象的字符序列相同,如下:

String s="java 你好";
String t="hallo";
System.out.println(s.equals(t));  //输出:false

③前缀
public boolean startsWith(String v),public boolean endsWith(String v)
startsWith(String v)含义:判断当前String对象的字符序列前缀是否是参数指定的String对象v的字符序列。
startsWith(String v)含义:判断当前String对象的字符序列后缀是否是参数指定的String对象v的字符序列。

String s="java 你好";
System.out.println(s.startsWith("java")); //true
System.out.println(s.startsWith("你",5)); //true
System.out.println(s.endsWith("你好")); //true
System.out.println(s.endsWith("你")); //false

④比较
public int compareTo(String s)
含义:按字典序和参数字符比较,大返回整数,相等为零,小返回负数。
public int compareToIgnoreCase(String s)
含义:按字典序和参数字符比较,忽略大小写

String str ="a";
String str2="A";
System.out.println(str.compareTo(str2)); //输出:32
System.out.println(str.compareToIgnoreCase(str2)); //输出:0 

⑤包含
public boolean contains(String s)
含义:当且仅当此字符串包含指定的char值序列时才返回true

String str ="aAAA";
String str2="A";
System.out.println(str.contains(str2)) //输出:true

⑥出现的位置
public int indexOf(String s)
含义:只有字符参数时,从0开始,第一次出现参数字符串的位置;
两个参数时,从索引值开始,第一次出现参数字符串的位置。
public int lastIndexOf(String s)
含义:从0开始,最后一次出现参数字符串的位置

String str ="aA  AA";
String str2="A";
System.out.println(str.indexOf(str2)); //输出: 1
System.out.println(str.indexOf(str2,2)); //输出:4
System.out.println(str.lastIndexOf(str2)); //输出:5

⑦子串
public String substring(int startpoint)
含义:返回从参数索引位置开始到最后位置上的字符所得到的字符序列。
public String substring(int start,int end)
含义:返回从start位置开始到end-1位置上的字符所得到的字符序列。

String str3="Hello Java";
System.out.println(str3.substring(6)); //输出:Java
System.out.println(str3.substring(0,5)); //输出:Hello

⑧去前后空格
public String trim()
含义:返回当前String对象的字符序列去掉前后空格的字符序列。

String str4=" he llo ";
System.out.println(str4.trim()); //输出:he llo

⑨返回索引处的值
public char charAt(int index)
含义:返回指定索引处的值

System.out.println(str4.charAt(1)); //输出:h

⑩连接
public String concat(String str)
含义:将指定的字符串连接到该字符串的末尾

String str3="Hello Java";
String str4=" he llo ";
System.out.println(str3.concat(str4)); //输出:Hello Java he llo 

11 、复制字符串到字符数组
public char[] toCharArray()
含义:将此字符串转换为新的字符数组。

String str4="hello";
char[] c2=str4.toCharArray();
System.out.println(c2); //输出:hello

public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
含义:将此字符串中的字符复制到目标字符数组中。char[] dst目标字符数组, dstBegin字符数组索引值(注意:确保目标字符数组可以容纳复制i的字符数)

String str3="Hello Java";
char[] chars= new char[]{'0','5','3','2','2','7'};
str3.getChars(0,5,chars,0);
System.out.println(chars); 输出:Hello7

12 、替换
public String replace(StringoldChar, String newChar)
含义:后一个参数字符串替换此字符串中出现的前一个参数字符串
replaceAll()和replace()效果类似;
replaceFirst()替换第一次出现的字符
replaceAll()和replaceFirst()可以使用正则表达式,replace()不可以

String string="AaAaA";
System.out.println(string.replace("Aa","B"));//输出: BBA
System.out.println(string.replaceFirst("A","B"));//输出:BaAaA
System.out.println(string.replaceAll("A","B"));//输出:BaBaB
System.out.println(string.replaceFirst("[a]","你"));//输出:A你AaA
System.out.println(string.replaceAll("[a]","你"));//输出:A你A你A

13、分割
public String[] split (String regex),参数为分割符
含义:将此字符串分割为字符串数组

String string="AabbffAaAaAaAaAa";
for(String s1:string.split("a")){
   System.out.print(s1);  //输出:AbbffAAAAA
}

System.out.println();

for(String s1:string.split("a",5)){ 
   System.out.print(s1); //输出:AbbffAAAAaAa
}

14、 大写转换

String string="AabbffAaAaAaAaAa";
System.out.println(string.toLowerCase()); //输出:aabbffaaaaaaaaaa
System.out.println(string.toUpperCase());//输出:AABBFFAAAAAAAAAA

15、 字符串与基本数据的相互转化

byte b=2;
short sh=23;
int i=100;
float f=123.2f;
double d=22.22;
long l=12345678l;
System.out.println(String.valueOf(b)+88);//输出:288
System.out.println(String.valueOf(sh)+88);//输出:2388
System.out.println(String.valueOf(i)+88);//输出:10088
System.out.println(String.valueOf(f)+88);//输出:123.288
System.out.println(String.valueOf(d)+88);//输出:22.2288
System.out.println(String.valueOf(l)+88);//输出:1234567888
String st2="36";
String st="36513.234";
String st3="36234234234242342";
System.out.println(Byte.parseByte(st2)+1);//输出:37
System.out.println(Short.parseShort(st2)+1);//输出:37
System.out.println(Integer.parseInt(st2)+1);//输出:37
System.out.println(Float.parseFloat(st)+1);//输出:36514.234
System.out.println(Double.parseDouble(st)+1);//输出:36514.234
System.out.println(Long.parseLong(st3)+1);//输出:36234234234242343

下图是注释一些常用的方法

学习、共勉,喜欢的点赞支持一下

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/318039.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号