黑马程序员技术交流社区

标题: String一个略屌的面试题(就要求基础) [打印本页]

作者: anyway1919    时间: 2015-9-11 23:38
标题: String一个略屌的面试题(就要求基础)
//求输出语句后的结果
  1. package com.string.demo;

  2. public class StringHMTest {

  3.         public static void main(String[] args) {
  4.        
  5.                 String s1 = "a";
  6.                 String s2= "b";
  7.                 String s3 = "ab";
  8.                 String s4 = "ab";
  9.                 System.out.println(s3==s4);
  10.                 String s5 = "a"+"b";
  11.                 System.out.println(s3==s5);
  12.                 String s6 =s1+s2;
  13.                 System.out.println(s3==s6);
  14.                 String s7 = new String("ab");
  15.                 System.out.println(s3==s7);
  16.                 final String s8 = "a";
  17.                 final String s9 = "b";
  18.                 String s10 = s8+s9;
  19.                 System.out.println(s3==s10);
  20.         }

  21. }
复制代码

作者: zjingwen    时间: 2015-9-12 12:11
{:2_32:}不屌
作者: 月影千华    时间: 2015-9-12 13:05
就是true或者false
作者: 莫盛强    时间: 2015-9-12 15:14
不是true就是false。总有一个会猜对。
作者: yanmingwang    时间: 2015-9-12 16:40
理解了string 的指针引用,不会觉得叼。
作者: #→_→    时间: 2015-9-12 17:06
String 的基本类型和引用类型,常量在方法区,对象在堆,加了最终修饰之后就是常量了,只要不是引用其他对象,都是指向同一个地址的,就是方法区
作者: c4anger    时间: 2015-9-12 17:43
感觉理解最重要。
作者: Marx_D    时间: 2015-9-12 19:35
true/true/false/false/true(对不)
作者: zhangcheng0403    时间: 2015-9-12 19:39
nice,不过觉得还可以啊
作者: 没有如果    时间: 2015-9-12 19:43
很厉害的样子啊
作者: caiyao    时间: 2015-9-12 20:53
true,true,false,false,true
作者: LYfeeling    时间: 2015-9-12 22:07
坐等答案
作者: 小二儿    时间: 2015-9-12 22:31
慢慢仔细读懂程序,加油
作者: 双元黑马12    时间: 2015-9-12 22:49
弄清==和equals 这题就简单了
作者: gpw    时间: 2015-9-12 23:10
true true false false false 对不对
作者: Ralap军    时间: 2015-9-12 23:36
栽在了最后一个。分析下各原因,求纠正:
1、"ab"在常量池中,s3和s4都直接指向了它,所以true
2、"a"+"b"在编译时会把他们拼接成"ab",然后再常量池中找"ab",找到了就把地址值赋给s5,所以true
3、s1和s2都是变量,所以s1+s2会把拼接完后的值"ab"再装入new String()中给s6,相当于s6=new String("ab"),所以false
4、s7指向了在堆中新建的字符串对象,堆中的字符串对象又指向了常量池中的"ab",所以false
5、因被final修饰,所以编译时会自动把s8和s9替换成"a"和"b",跟上面2一样了,所以true
作者: 0825梁磊    时间: 2015-9-12 23:44
坐等大神回复!!!
作者: zzq18217362451    时间: 2015-9-12 23:47
还好,比较易错
作者: Jared    时间: 2015-9-26 12:00
答案是啥
作者: lostyou    时间: 2015-9-26 19:14
初学的时候这个是有点吊
作者: T-l-H、小生    时间: 2015-9-26 19:55
来学习学习。嘎嘎。。。
作者: 阿萨德豆腐干    时间: 2015-9-26 20:35
看不太明白啊  还要学学
作者: zhonggege1234    时间: 2015-9-26 20:52
还没学到这




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2