A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yuchifeifan 中级黑马   /  2016-1-31 20:06  /  724 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public static void main(String[] args){
String s1="java";
String s2=s1.valueOf(s1);
String s3=s1.substring(0,4);   //猜猜会不会报错
System.out.println(s1==s2);
System.out.println(s1==s3);
System.out.println(s2==s3);   //你们造结果吗  ----》求大家给点分啊
}

评分

参与人数 1黑马币 +2 收起 理由
洋葱头头 + 2

查看全部评分

12 个回复

倒序浏览
卧槽 大神你好流弊啊
回复 使用道具 举报
一般般了 赫赫赫

点评

大婶 我给你10000000分  发表于 2016-1-31 20:10
回复 使用道具 举报
正确答案是true true true

点评

YES  发表于 2016-2-5 19:35
回复 使用道具 举报
三个都是true。。
回复 使用道具 举报
打赏点技术分啊大家
回复 使用道具 举报
唉呀 终于有人给分了 好人那
回复 使用道具 举报
D.TF 中级黑马 2016-2-6 10:36:03
8#
三个全是对的,ture
回复 使用道具 举报
答案大家已经给出了,具体原因应该是这样:
Java中的String类为不可变字符串,也是String类中没有提供修改字符串的方法,string字符串是存放在公共的储存池中的,字符串变量如同“指针”指向存储池中的相应位置。
楼主的两个方法,substring文档解释:“该子字符串从指定的 beginIndex 处开始,直到索引 endIndex - 1 处的字符。”valueOf文档解释:返回参数的字符串表示形式,两种方法其实都是在做“指针”操作,都是指向储存池中的同一个java,当然地址也是一样的。所以s1==s2==s3
回复 使用道具 举报 2 0
学习了~~~
回复 使用道具 举报
true
true
true
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马