System.out.println(java.equals("ja"+va));
       System.out.println(java.equals("ja"+"va"));

解决方案 »

  1.   

    ==比较的是两个reference的值。对象是放在堆中的,但会有一个reference值指向这个堆。用“==”比较两个对象实际上是比较这个reference值。
    例如:
       String s1="Hi";
       String s2="Hi";
       String s3=new String("Hi"); 
       System.out.println(s1==s2);
       System.out.println(s1==s3);控制台上的输出为:
    true
    false
      

  2.   

    "ja"+va"产生了一个新的String,地址不一样
    "ja"+"va"组成的String,这个String已经存在于内存里所以JVM会用以前的,而不重新产生.也就是同一个地址