char x = 0;
int y = 0;
                System.out.println(x==y);这里的x为null,为什么输出会是ture?

解决方案 »

  1.   


    chat int是可以自动转型的。
      

  2.   

    0 不等于null 啊
    char 会自动类型提升
      

  3.   

    试试equals,估计你是想实现那个效果
      

  4.   

    额,我就是纠结在char如果直接赋值是数字的话,不是算那个ascii码的么。比如char x = 48;那么print x 就是0;也就是说如果char x = 0;的话那么0的ascii码就是null 对不?然后问题就是null 为什么 会和0的地址相同呢?== 不是比较地址的么?
      

  5.   

    0代表有值, null表示什么都没有 不一样的
      

  6.   

    哦,对了,看了3,4楼突然想起来,之前看书上好像是有讲 java强类型会自动转型的。再看看先
      

  7.   

    书上说的是char转换为int类型时,取char的Unicode表示
      

  8.   

    但是代码中的char不是被赋值为单引号扩起来的,字符额。