-8

如果您在 main() 方法中使用以下代码编译和执行应用程序: 在这个程序中,为什么“s”创建了两个对象。

   String s = new String( "Computer" );

   if( s == "Computer" )
   System.out.println( "Equal A" );
   if( s.equals( "Computer" ) )
   System.out.println( "Equal B" );
4

2 回答 2

1

第一个s == "Computer"测试将失败,因为s文字字符串"Computer"位于不同的地址。

第二个s.equals("Computer")会成功。这两个字符串具有相同的内容。

任何关于 Java 的优秀教程书都会比我们有时间更好地解释这一点。

于 2013-08-04T07:44:49.763 回答
0

要比较 String 对象,您应该这样做:

if( s.equals("Computer" ))

而不是==运算符。

于 2013-08-04T07:44:52.923 回答