Java 问:如果您编译并执行一个应用程序,其main()方法中包含以下代码:Why";s";创建两个对象

Java 问:如果您编译并执行一个应用程序,其main()方法中包含以下代码:Why";s";创建两个对象,java,Java,如果在main()方法中使用以下代码编译和执行应用程序: 在本程序中,为什么“s”创建这两个对象 String s = new String( "Computer" ); if( s == "Computer" ) System.out.println( "Equal A" ); if( s.equals( "Computer" ) ) System.out.println( "Equal B" ); 第一个s==“Computer”测试将失败,因为s和文本字符

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

   String s = new String( "Computer" );

   if( s == "Computer" )
   System.out.println( "Equal A" );
   if( s.equals( "Computer" ) )
   System.out.println( "Equal B" );
第一个
s==“Computer”
测试将失败,因为
s
和文本字符串
“Computer”
位于不同的地址

第二个
s.equals(“计算机”)
将成功。这两个字符串的内容相等


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

要比较字符串对象,您应该:

if( s.equals("Computer" ))

而不是
==
运算符。

那么问题是什么?只需自己运行代码。