一个简单的Java题,大家看看我的答案对不对。

2024-12-26 16:02:00
推荐回答(6个)
回答1:

①正确答案是A C D

②原因:
A: 同类型,同值 √
B: equals 的比较必须在同类型基础上,String 和char[] 为不同类型 ×
C: 显然是相等的 √
D: 这个也必然相等, new String ("hello") 在值上等价于 s √
E: 不同类型不能用== ×

③进一步原因:
== 操作符只能在同类型基础上比较值是否相等,相等则为true,否则为false
equals 方法能在不同和相同类型基础上比较,只要类型和值有一个不同,就一定是false,否则为true;

回答2:

应该是ACD String有个常量池 String s = "hello" 和String t = "hello"; 在常量池中存放一个位置

s==t 返回true

回答3:

ACD,equals比较的是两个String的值而不是引用(内存地址)
t==c是不对的,因为两者不是同一类型的,不可以比较,编译的时候会提示不通过的

回答4:

肯定不对的,应该是A才对啊,因为s,t的内存地址不一样的。

回答5:

equals(),用来判断字符串,==用来判断整数型,
选A.

回答6:

据我的经验,A,C,D都对。