0x00 简述
本次文章主要介绍String类如何判断是否相等,求字符串的子串,如何连结字符串等操作的实现,并给出相应的代码。
0x01 String类判断是否相等
package a;
public class CompareString {
public static void main(String[] args) {
String a="周老师厉害";
String b="周老师牛逼";
String c="周老师厉害";
System.out.println(a.equals(b));
System.out.println(a.equals(c));
}
}
//以上输出结果为false true
值得注意的是:String类判断相等的方法并不能如同数值对比一样使用==来判断,而是使用Java自带的特定方法equals来判断。其中原因可参考小结中的链接:String类型的比较
0x02 Substring求字符串的子串
public class SubString{
public static void main(String[] args){
String str = "DANIAO";
System.out.println("字符串为:" + str);
System.out.println("子串为:");
//输出字符串和子串作为校验
for(int i = 0; i < str.length(); i++){
for (int j = i+1; j<=str.length(); j++){
System.out.println(str.substring(i,j));
}
}
}
}
/*以下为控制台输出结果
字符串为:DANIAO
子串为:
D
DA
DAN
DANI
DANIA
DANIAO
A
AN
ANI
ANIA
ANIAO
N
NI
NIA
NIAO
I
IA
IAO
A
AO
O
———————————————————*/
通过使用循环嵌套和Substring方法,可以输出任何字符串的子串。
0x03 Stringbuilder连结字符串
public class StringBuilder{
/**
* @param args
*/
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
// 追加字符串
sb.append("Jasonzhou");
// 插入
sb.insert(0 , "周景 ");
// 替换
sb.replace(2, 3, ","); // 将空格变为逗号
System.out.println(sb);
// 删除
sb.delete(2, 3); // 删除逗号
System.out.println(sb);
// 反转
sb.reverse();
System.out.println(sb);
}
}
/*以下为控制台输出结果
周景,Jasonzhou
周景Jasonzhou
uohznosaJ景周
———————————————————*/
上面代码示范了StringBuilder的追加、插入、替换、删除等操作,这些操作改变了StringBuilder里的字符序列,这就是StringBuilder与String之间的最大区别:StringBuilder的字符序列是可变的。
0x04 小结
本章介绍了字符串的相关知识及用法,String类代表字符串。Java程序中的所有字符串字面值(如“DANIAO”)都作为此类的实例实现。也就是说,在Java中,只要是被“”概括的内容都是字符串,都是string的一个具体对象。
字符串最大特点:(对象)一旦被初始化,就不可以改变。(字符串常量)
但可以通过改变调用方式来实现获得不同的字符串,如Substring和Stringbuilder。
参考及引用:
String类型的比较(为什么比较字符串是否相等时不用=号用equals()的)
求字符串的所有子串-java
百度百科——Substring用法
java StringBuilder类的详解及简单实例
String类的概述及常见方法使用
我的老师周景
笔者的网站