java字符串操作

图片描述

这段程序应该是输出true吧, 为何结果是false

阅读 3.3k
1 个回答

如果是

System.out.println("yyg".substring(0, 0).equals(""));
结果是true

如果是

System.out.println("yyg".substring(0, 0)==new String(""));
结果是false

有没有观察到两者区别。
一个是字符串相等,一个是对象。第二个因为你new 构造了一个新的对象。虽然所指向的值相等。但是不同对象,不一样的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题