单选题 阅读下面程序   public class Operators And Expressions(   void equals Methodl(){   Stringsl一new String("how are you");   Strings2=new String("how are you");   System.out.println(s1= =s2):   }   public static void main(String args[]){   Operators And Expressions Oper And Exp=new Oper-   ators And Expressions   ();   //用于复合类型数据的”= =”运算符   OperAndExp.equalsMethodl();   }   }   程序运行结果是( )。
【正确答案】 C
【答案解析】解析:本题考查的是Java语言中运算符的特殊用法。相等比较运算符"= =",不仅可用于基本类型的数据之间的比较,还可以用于复合类型数据之间的比较。但是,对于复合类型数据的"= ="运算,其比较的目标是两个操作数是否是同一个对象。如果需要比较两个对象的值是否相同,则可以调用equals()方法。题目中函数equalsMethodl()的代码非常简单,首先生成两个字符串对象sl和s2,然后输出表达式"sl= =s2"的结果。根据上面介绍的相等比较运算符的用法,字符串对象sl和s2是复合类型数据,因此表达式"sl= =s2"比较的是sl和s2是否同一个对象。显然,sl和s2虽然具有相同的值,即"how are you",但它们是两个不同的对象。因此,本题的正确答案是C。