recherche

Maison  >  Questions et réponses  >  le corps du texte

java中==不是只能判断数值类型吗?为什么可以判断空字符串,输出为true?

黄舟黄舟2811 Il y a quelques jours705

répondre à tous(6)je répondrai

  • PHP中文网

    PHP中文网2017-04-17 17:05:58

    用双引号创建的相同内容的字符串,均指向同一个引用。而new String出来的是新的一个对象。这也是为什么要尽量避免new String
    <pre>

    public class StringEqualsTest{
        public static void main(String[] args) {
            String s1="Gavin";
            String s2=new String("Gavin");
    
            System.out.println("Gavin"==s1);
            System.out.println("Gavin"==s2);
        }
    }


    $java StringEqualsTest
    true
    false

    répondre
    0
  • 黄舟

    黄舟2017-04-17 17:05:58

    String不是基本数据类型,所以使用==是比较的内存地址。

    répondre
    0
  • ringa_lee

    ringa_lee2017-04-17 17:05:58

    网上关于Java的==和equals()的介绍很多,随便浏览几篇你就可以明白这个问题,这个问题表面很简单,但是越往后就会越深入。

    répondre
    0
  • 天蓬老师

    天蓬老师2017-04-17 17:05:58

    楼主 可以先去理解下 引用比较和值比较

    répondre
    0
  • 阿神

    阿神2017-04-17 17:05:58

    java中==不是只能判断数值类型吗?
    答:不是,==可以判断基本数据类型(数值类型)、对象。

    répondre
    0
  • 怪我咯

    怪我咯2017-04-17 17:05:58

    ==比较的是字面值
    字符串为引用类型,且已建立的字符串在内存不可变,s引用的是""串的内存地址,相同的地址比较自然一样

    répondre
    0
  • Annulerrépondre