equals
public boolean equals(Object anObject)
常用于对比字符串是否相等,按照JDK文档的标准说法是:
将此字符串与指定的对象比较。当且仅当该参数不为 null
,并且是与此对象表示相同字符序列的 String
对象时,结果才为 true
。
这里额外备注一下:
java中==和equals的区别:
==号:用于比较对象再内存中的地址值,例子中因为创建了两个对象,他们在内存中地址的位置是不一样的, 所以会返回false。
==号一般用来比较基本数据类型(如:int,double) 是否相等
equals:它是java.lang.Object类中的一个方法。因为java中所有的类都默认继承于Object,所以所有的类都有这个方法。
String类覆写了父类的这个方法,用于比较对象的内容是否相等
length
public int length()
返回此字符串的长度。
contains
public boolean contains( CharSequence s)
判断字符串中是否包含 参数指定的字符串。
如:
String str1 = "Hello,my Project";
System.out.println("is str1 contains 'Hello'? "+str1.contains("Hello"));
startsWith
public boolean startWith( String prefix)
判断此字符串是否以指定的前缀开始。
注意:如果参数是空字符串,或者等于此 String
对象(用 equals(Object)
方法确定),则返回 true
。
如:
String str1 = "Hello,my Project";
System.out.println("is str1 starts With 'Hello'? "+str1.startsWith("Hello"));
endsWith
public boolean endsWith( String suffix)
判断此字符串是否以指定的后缀结束。
注意:如果参数是空字符串,或者等于此 String
对象(用 equals(Object)
方法确定),则结果为 true
。
如:
String str1 = "Hello,my Project";
System.out.println("is str1 end With 'Project'? "+str1.endsWith("Project"));
indexOf
public int indexOf( int ch)
返回指定字符在此字符串中第一次出现处的索引。如果未出现该字符,则返回 -1
。
如:
String str1 = "Hello,my Project";
System.out.println("index: "+str1.indexOf("my"));
输出:index: 6
indexOf相关的还有很多其他的方法,如:
replace
public String replace(char oldChar, char newChar)
返回一个新的字符串,它是通过用 newChar
替换此字符串中出现的所有 oldChar
得到的。
如果 oldChar
在此 String
对象表示的字符序列中没有出现,则返回对此 String
对象的引用。否则,创建一个新的 String
对象,它所表示的字符序列除了所有的 oldChar
都被替换为 newChar
之外,与此 String
对象表示的字符序列相同。
如:
String str1 = "Hello,my Project";
String str2 = str1.replace("my", "you");
System.out.println("str2: "+str2);
输出:str2: Hello,you Project
split
public String[] split( String regex)根据给定 正则表达式 的匹配拆分此字符串。
如:
String[] language = str1.split(",");
for(int i=0;i<language.length;i++) {
System.out.println(language[i]);
}
输出:
java
android
ios
substring
public String subString(int beginIndex, int endIndex)返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的 beginIndex
处开始,直到索引 endIndex - 1
处的字符。因此,该子字符串的长度为 endIndex-beginIndex
。
如:
String str1 = "java,android,ios";
System.out.print(str1.substring(5, 12));
trim
public String trim();返回字符串的副本,忽略前导空白和尾部空白。
常用于 把用户输入的字符串,前后去空格