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

2017-08-05  本文已影响0人  WXFA

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

上一篇下一篇

猜你喜欢

热点阅读