本帖最后由 koj5201314 于 2010-10-18 17:44:30 编辑

解决方案 »

  1.   

    补充 string str=“Java”;
      

  2.   

    true
    true
    至于为什么。我也不知道。(实话实说)
      

  3.   

    System.out.println(null==null);
    System.out.println("java"=="ja"+"va");这两个输出true
    System.out.println(str=="ja"+"va");
    System.out.println(str=="java");这两个中的str是怎样定义的
      

  4.   

    LSD你好诚实,你是运行程序得出来的结果吗?
      

  5.   

    string str=“Java”;
    System.out.println(null==null);
    System.out.println("java"=="ja"+"va");
    System.out.println(str=="ja"+"va");
    System.out.println(str=="java");
    不运行程序,说出这几句输出什么?为什么?
      

  6.   

    都为true  , ==比的是引用,equals比较的是值, 相等当然为ture,不相等当然为false
      

  7.   

    true
    true
    true
    true
    因为String有String池, 把所有相同的字符串都放在同一个地址中。
      

  8.   

    "java"、"ja"+"va"、str =“java”这3个引用全是一个地址?null都是指向一个引用?
      

  9.   

    前两个true,
    如果str="java",后两个也是true。
    如果str = new String("java"),后两个是false。对于常量,"ja"+"va"虚拟机会自己做优化,在常量池中储存"java",所以它肯定=="java",
    对于new String("java"),它是一个新对象,它和"java"的关系是equals
      

  10.   

    System.out.println(str=="ja"+"va");
    System.out.println(str=="java");这两个输出为false  
      

  11.   

    String str= new String("java");
    System.out.println(null==null);
    System.out.println("java"=="ja"+"va");
    System.out.println(str=="ja"+"va");
    System.out.println(str=="java");楼主看看这会有什么不一样?
      

  12.   

    都是True,以为==比较的是String对象的值,而不是地址。
      

  13.   

    如果String="Java"而不是String="java",
    那就没意义了。
      

  14.   

    有new就为false,这里主要是String pool和堆的区别
      

  15.   

    true true false  false
      

  16.   

    #22楼  说的对....
       lz写的是String str="Java";显然是笔误...但大部分人都还以为是Java....