- public class T1 {
- public static void main(String[] args) throws ClassNotFoundException,InstantiationException,IllegalAccessException{
- // TODO Auto-generated method stub
- String s1 = "abc";
- String s2 = new String("abc");
- System.out.println(s1);//输出abc
- System.out.println(s2);//输出abc
- System.out.println(s1.equals(s2)); //判断其内容相同都是abc返回true
- System.out.println(s1.getClass()==s2.getClass());//都是String 类的字节码对象所以返回true
- System.out.println(s1==s2); //2个不同对象地址值不同返回flase
- }
- }
复制代码
用了一个String类来说明,可以看出equals是判断内容是否相同
==是判断对象地址是否相同(即指向对象是否相同)
getClass()是类字节码对象,所以是比较类是否相同。
大概比较容易混乱的就上面3个情况了吧
|