【JAVA】String类常用方法略解

String类方法

字符串是java的一大特色,它作为开发项目时的重要组成,其自身拥有大量的操作方法供开发者使用,写这篇文章就是说一说String类提供的一些操作方法的使用技巧以及它们的使用范例,那就跟我一起来学习吧。

字符串与字符

Ⅰ.public char charAt(int index)…查找字符的函数

该函数可以按照指定索引查找字符串中相应的字符并返回

public class MethodOfString {
	public static void main(String[] args) {
		String str = "www.csdn.cn" ;
		char ch = str.charAt(5) ;
		System.out.print(ch) ;
	}
}
//输出结果: s

Ⅱ.public String(char[] value) …将字符数组转化为字符串

有的时候将字符数组转化为字符串用来获得更多的操作空间,需要注意的是该方法是构造方法,在字符串实例化的同时使用。

public class MethodOfString {
	public static void main(String[] args) {
		char[] ch = new char[] {'c', 's', 'd', 'n'} ;
		String str = new String(ch) ;
		System.out.print(str) ;
	}
}
//输出结果: csdn

Ⅲ.public char[] toCharArray() …将字符串转化为字符数组

既然有字符数组转化为字符串的方法,也可以反着来,请看下面范例

public class MethodOfString {
	public static void main(String[] args) {
		String str = "csdn" ;
		char[] ch = str.toCharArray() ;
		for (char temp : ch) {
			System.out.print(temp + ",") ;
		}
	}
}
//输出结果: c,s,d,n,

Ⅳ.public String(char[] value, int offset, int count)…与Ⅱ差不多,但是能选定范围

这里不再多讲解,方法中参数offset为起始索引,count为结束索引

字符串比较

Ⅰ.public boolean equals(String str)…比较两个字符串内容

这里补充一个知识点,基础数据类型的运算符操作的是内容,而引用数据类型则是堆内存地址,所以类似 str1 == str2,比较内容就是错误的,可以使用本方法进行内容上的比较。

public class MethodOfString {
	public static void main(String[] args) {
		String str1 = "csdn" ;
		if (str1.equals("csdn")) {
			System.out.print("相同") ;
		}
	}
}
//输出结果: 相同

Ⅱ.public int compareTo(String) …比较字符串大小

该函数可以根据unicode码表中而返回大小差值,大于0返回1,等于0返回0,小于0返回负数,如果两字符串长度不一致,以短的字符串的长度为比较长度。

public class MethodOfString {
	public static void main(String[] args) {
		String str1 = "csdn" ;
		String str2 = "csdN" ;
		System.out.print(str1.compareTo(str2)) ;
	}
}
//输出结果: 32

字符串查找

Ⅰ.public int indexOf(String str)…字串查找

该方法能够从主串中从前向后查找子串,查找到返回字串在主串中的位置,找不到就返回 -1。不得不说,java实在强大啊,我学C的时候,这种方法都要自己实现,那个KMP算法搞得我头皮发麻,现在真是轻松了好多。看看实现范例吧。

public class MethodOfString {
	public static void main(String[] args) {
		String str1 = "www.csdn.cn" ;
		String str2 = "csdn" ;
		System.out.print(str1.indexOf(str2)) ;
	}
}
//输出结果: 4

Ⅱ.public int lastIndexOf(String str)…反向字串查找

这个函数使用方法跟Ⅰ相同,只是是从字符串的最后向前查找,这里不再废话,看下一个方法。

Ⅲ.public contains(String str) … 字串查找

该方法是基于Ⅰ实现的,实现的源代码如下,它能告诉你是否查找到字串。

public boolean contains(CharSequence s) {
	return indexOf(s.toString()) >= 0 ;
}

字符串替换

Ⅰ.public String replaceAll(String str1, String str2) … 全替换

该方法能将字符串中与str1对应的字符串全部替换为str2

public class MethodOfString {
	public static void main(String[] args) {
		String str1 = "www.csdn.cn" ;
		String str2 = "W" ;
		System.out.print(str1.replaceAll("w", str2)) ;
	}
}
//输出结果: WWW.csdn.cn

Ⅱ.public String replaceFrist(String str1, String str2) … 替换首个字符串

将字符串中第一个str1替换为str2

public class MethodOfString {
	public static void main(String[] args) {
		String str1 = "www.csdn.cn" ;
		String str2 = "W" ;
		System.out.print(str1.replaceFirst("w", str2)) ;
	}
}
//输出结果: Www.csdn.cn

字符串拆分

Ⅰ.public String[] split(String str) … 全拆分

该方法能够将字符串中以与str相同的串为拆分点拆开,并返回拆分后的字符串数组。

public class MethodOfString {
	public static void main(String[] args) {
		String str1 = "www.csdn.cn" ;
		String str2 = "c" ;
		String[] arrayOfstr = str1.split(str2) ;
		for (String temp : arrayOfstr) {
			System.out.print(temp + ",") ;
		}
	}
}
//输出结果: www.,sdn.,n,

Ⅱ.public String[] split(String str, int number) … 选择拆分

该方法可以选择将字符串拆分为number长度的字符串数组

public class MethodOfString {
	public static void main(String[] args) {
		String str1 = "www.csdn.cn" ;
		String str2 = "c" ;
		String[] arrayOfstr = str1.split(str2, 2) ;
		for (String temp : arrayOfstr) {
			System.out.print(temp + ",") ;
		}
	}
}
//输出结果: www.,sdn.cn,

字符串截取

Ⅰ.public String substring(int begin) … 从begin开始截取到结束

该方法能截取一部分的字符串并返回截取的串

public class MethodOfString {
	public static void main(String[] args) {
		String str1 = "www.csdn.cn" ;
		System.out.print(str1.substring(4)) ;
	}
}
//输出结果: csdn.cn

Ⅱ.public String substring(int begin, int end) … 从begin截取到end

该方法是Ⅰ的重载方法,能指定截取结束的点

public class MethodOfString {
	public static void main(String[] args) {
		String str1 = "www.csdn.cn" ;
		System.out.print(str1.substring(4, 8)) ;
	}
}
//输出结果: csdn

其它常用方法

Ⅰ.public int length() … 获取字符串长度

该函数能返回字符串长度,注意数组获取长度是length,而该方法后面多个"()",不要混淆。

Ⅱ.public boolean isEmpty() … 判断是否是空串

是返回 true,不是返回 false,该方法一定要在实例化对象的时候才能使用

JavaDoc文档介绍(补充)

JavaDoc文档是Java语言提供的语言使用手册与类库说明,在开发中需要反复查看。

Java10文档地址:http://docs.oracle.com/javase/10/docs/api/overview-summary.html
也可以直接搜索输入“java10 api”

JavaDoc文档每一个模块包含若干个包,每个包里有不同的类

END

由于时间仓促,还有一些比较常用的方法我还没有列举出来,欢迎各位读者指出我的错误和不足,我一定好好改正。求个赞朋友们,谢谢了。

                            参考文献
[1]李兴华.Java从入门到项目实战(全程视频版)[M].北京.中国水利水电出版社,2019(6):145-158.
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值