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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,929评论 18 399
  • java笔记第一天 == 和 equals ==比较的比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量...
    jmychou阅读 5,386评论 0 3
  • java中String的常用方法 1、length()字符串的长度 例:char chars[]={'a','b'...
    赤赤有名阅读 6,311评论 0 10
  • package cn.itcast_01;/* 字符串:就是由多个字符组成的一串数据。也可以看成是一个字符数组。 ...
    蛋炒饭_By阅读 3,790评论 0 0
  • final关键字(最终) final修饰的类无法被继承. final修饰的方法无法被覆盖. final修饰的局部变...
    yangliangliang阅读 3,923评论 0 0