阅读下面程序
public class Operators And Expressions
void equals Methodl()
String1l=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 Operators And Expressions
();
//用于复合类型数据的"=="运算符
OperAndExp.equalsMethodl();
程序运行结果是( )。
A.==
B.true
C.false
D.equal
参考答案:C
解析: 本题考查的是Java语言中运算符的特殊用法。相等比较运算符"==",不仅可用于基本类型的数据之间的比较,还可以用于复合类型数据之间的比较。但是,对于复合类型数据的"=="运算,其比较的目标是两个操作数是否是同一个对象。如果需要比较两个对象的值是否相同,则可以调用equals()方法。题目中函数equalsMethodl()的代码非常简单,首先生成两个字符串对象s1和s2,然后输出表达式"s1==s2"的结果。根据上面介绍的相等比较运算符的用法,字符串对象s1和s2是复合类型数据,因此表达式"s1==s2"比较的是s1和s2是否同一个对象。显然,s1和s2虽然具有相同的值,即"how areyou",但它们是两个不同的对象。因此,本题的正确答案是C。