前两天突然发现这两个方法搞得有点懵 ,
其实挺简单 , 根据字面意思就可以区分开.
equals( )
boolean equals(Object anObject) :将此字符串与指定的对象比较。
通俗的说就是:判断它俩(指定元素与括号中)内容是否相等!
注意: equals不能用于基本数据类型的变量!
举个简单的小例子说明下:
public class Demo01 {
public static void main(String[] args) {
// 判断 "lisi" 是否和 "list" 相等 .
boolean equals = "lisi".equals("list");
(equals); // false - 不相等
// 判断 "list" 是否和 "list" 相等 .
boolean equals2 = "list".equals("list");
(equals2); // true - 相等
}
}
contains()
String类中的contains:
boolean contains(CharSequence s) : 当且仅当此字符串包含指定的 char 值序列;
字面意思就是:判断指定内容中是否包含括号中的内容;
Collection集合中的contains():
boolean contains(Object o) 判断 集合中 是否 包含指定的元素
举个简单的小例子说明下:
public class Demo01 {
public static void main(String[] args) {
// "list" 中是否包含 "li"
boolean c1 = "list".contains("li");
(c1); // list中包含i -- true
boolean c2 = "list".contains("l");
(c2); // list中包含i -- true
// -------------------------------------------
// 创建一个数据 , 并添加数据 .
ArrayList<String> list = new ArrayList<>();
("aaa");
("bbb");
("ccc");
("dad");
// 判断集合中是否包含指定元素.
boolean b = ("aaa");
(b); // true
}
}
总结:
contains就是包含(abc中包含a)
equals就是相等(完全一样).
注:
一般推荐吧常量字符串写在前面 , 变量写在后面.