学习小结
16.1.4 String内容的比较
序号 | 方法名称 | 类型 | 描述 |
---|---|---|---|
1 | public boolean equals(String anObject) | 普通 | 区分大小写比较 |
2 | public boolean equalsIgnoreCase(String anotherString) | 普通 | 不区分大小写 |
3 | public int compareTo(String anotherString) | 普通 | 比较字符串大小关系 |
- 判断字符串一致的方法
(1)调用equals(object)方法
string1.equals(string2),比较对象包含值是否想等。
equalsIgnoreCase()可忽略大小写来比较。
String str1 = "Hello Java!"; // 直接赋值实例化对象str1
Boolean result = str1.equals("Hello Java!"); // result=true
Boolean result = str1.equals("Hello java!"); // result=false
Boolean result = str1.equalsIgnoreCase("Hello Java!"); // result=true
(2)使用比较运算符==
==比较两个对象是否引用同一个实例。
String str1 = "Hello"; // 直接赋值实例化对象str1
String str2 = "Hello"; // 直接赋值实例化对象str2
Boolean result1 = (str1==str2); // result=true
String str3 = new String("Hello"); // 构造方法赋值
Boolean result2 = (str1==str3); // result=false
运算符==比较的是堆内存的地址数值,想要进行字符串内容的比较,可以使用equals()。
范例 16-2 字符串对象相等判断
package com.Javastudy2;
/**
* @author Y.W.
* @date 2018年5月23日 下午11:39:32
* @Description TODO 字符串对象相等判断
*/
public class P415_16_2 {
public static void main(String[] args) {
String str1 = "Hello"; // 直接赋值实例化对象str1
String str2 = new String("Hello"); // 构造方法赋值
String str3 = str2; // 引用传递
System.out.println(str1 == str2); // false
System.out.println(str1 == str3); // false
System.out.println(str2 == str3); // true
System.out.println(str1.equals(str2)); // true
System.out.println(str1.equals(str3)); // true
System.out.println(str2.equals(str3)); // true
}
}
运行结果:
思考
一步一个脚印。
记于2018-5-24 00:48:46
By Yvan