美文网首页
NO.41 判断定义为String类型的boolean值

NO.41 判断定义为String类型的boolean值

作者: WXFA | 来源:发表于2017-08-05 21:57 被阅读0次

    1、 判断定义为String类型的s1和s2是否相等

    String s1 = "abc";

    String s2 = "abc";

    System.out.println(s1==s2);          // 引用数据类型,比较地址值  ,true

    System.out.println(s1.equals(s2));  // true     比较equals:当且仅当该参数不为 null,并且是与此对象表示相同字符序列的 String 对象时,结果才为 true。

    2、 下面这句话在内存中创建了几个对象?

    String s1 = new String("abc");  //这句话在内存中创建了两个对象,一个是常量池,一个是堆内存中(副本)

    System.out.println(s1);

    3、 判断定义为String类型的s1和s2是否相等

    String s1 = new String("abc");  //在堆内存

    String s2 = "abc";              //在常量池

    System.out.println(s1==s2);      //结果==false

    System.out.println(s1.equals(s2));  //结果==true(两个属性相同)

    4、 判断定义String类型的s1和s2是否相等

    //byte b = 3 + 4;        //有常量优化机制,在编译时,结果等于7在byte取值范围内,会自动帮我们转换

    String s1 = "a"+"b"+"c";

    String s2 = "abc";

    System.out.println(s1==s2);        //结果==true,Java中有常量优化机制

    System.out.println(s1.equals(s2));  //结果=true

    5、判断定义String类型的s2和s3是否相等

    String s1 = "ab";

    String s2 = "abc";

    String s3 = s1 + "c";

    System.out.println(s2==s3);    //结果==false

    System.out.println(s2.equals(s3));  //结果==true

    相关文章

      网友评论

          本文标题:NO.41 判断定义为String类型的boolean值

          本文链接:https://www.haomeiwen.com/subject/jbmwlxtx.html