java中==和equals方法

String name=new String(''tom'');
if(name==''tom'')
     System.out.println(''hello,tom'')

书上说if的条件应是name.equals(''tom'')才有意义,equals方法这里是比较是否为相同对象类型和内容?我想问tom不是字符串常量吗?何来对象之说?

阅读 2.2k
2 个回答

Java 中没有字符串基础类型,所有的你在编写过程中认为的 "..." 引号所包裹的字符串,都会在编译时转换为字符串对象。

在Java中,字符串也是对象。Java的基本类型只有字节、数值、字符、布尔这几种,除此之外都是对象。

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