分享
 
 
 

java辨析(1):==和Equal.doc

王朝java/jsp·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

? 总结

1、= =操作符比较的是操作符两端的操作数是否是同一个对象;另外= =操作符两边的操作数必须是同一类型的(可以是父子类之间)才能编译通过。

2、String的equals()方法比较的是两个String对象的内容是否一样

3、= =比较的是地址,假如是具体的阿拉伯数字的比较,值相等则为TRUE,如:

int a=10 与 long b=10L 与 double c=10.0都是相同的(为true),因为他们都指向地址为10的堆栈;如下题111;

? String s= "hello";

String t = "hello";

char c[] = {'h','e','l','l','o'}

Which return true?

A. s.equals(t);

B. t.equals(c);

C. s==t;

D. t.equals(new String("hello"));

E. t==c.

答案:(acd)

题目:哪些返回true。

这个在前面第10题的equals()方法和==操作符的讨论中论述过。==操作符比较的是操作符两端的操作数是否是同一个对象,而String的equals()方法比较的是两个String对象的内容是否一样,其参数是一个String对象时才有可能返回true,其它对象都返回假。需要指出的是由于s和t并非使用new创建的,他们指向内存池中的同一个字符串常量,因此其地址实际上是相同的(这个可以从反编译一个简单的测试程序的结果得到,限于篇幅不列出测试代码和反编译的分析),因此答案c也是正确的。

Given the following class:

public class Sample{

long length;

public Sample(long l){ length = l; }

public static void main(String arg[]){

Sample s1, s2, s3;

s1 = new Sample(21L);

s2 = new Sample(21L);

s3 = s2;

long m = 21L;

}

}

Which eXPression returns true?

A. s1 == s2;

B. s2 == s3;

C. m == s1;

D. s1.equals(m).

答案:(b)//D不对,只有String的equals()方法才比较值;

题目:给出下面的类: …

哪个表达式返回true。

前面已经叙述过==操作符和String的equals()方法的特点,另外==操作符两边的操作数必须是同一类型的(可以是父子类之间)才能编译通过。

再看以下几道

17. float f=4.2F;

Float g=new Float(4.2F);

Double d=new Double(4.2);

Which are true?

A. f= =g B. g= =g C. d= =f D. d.equals(f) E d.equals(g) F. g.equals(4.2);

答案:B

? 93. Click the exhibit button:

1. public class X {

2. public static void main (String[]args) {

3. String s1 = new String (“true”);

4. Boolean b1 = new Boolean (true);

5. if (s2.equals(b1)) {

6. System.out.printIn(“Equal”);

7. } 8. } 9. }

What is the result?

A. The program runs and prints nothing.

B. The program runs and prints “Equal.”

C. An error at line 5 causes compilation to fail.

D. The program runs but aborts with an exception.

答案:A

比较下题,小心使用equals 和 = =的区别;

? 93. Click the exhibit button:

1. public class X {

2. public static void main (String[]args) {

3. String s1 = new String (“true”);

4. Boolean b1 = new Boolean (true);

5. if (s2 = = b1) { //= =操作符两边的操作数必须是同一类型的(可以是父子类之间)才能编译通过

6. System.out.printIn(“Equal”);

7. } 8. } 9. }

What is the result?

A. The program runs and prints nothing.

B. The program runs and prints “Equal.”

C. An error at line 5 causes compilation to fail.

D. The program runs but aborts with an exception.

答案:C

? 111. Given:

1. public class Foo {

2. private int val;

3. public foo(int v) (val = v;) }

4. public static void main (String [] args) {

5. Foo a = new Foo (10);

6. Foo b = new Foo (10);

7. Foo c = a;

8. int d = 10;

9. double e = 10.0;

10. }

11. }

Which three logical expressions evaluate to true? (Choose Three)

A.(a ==c)

B.(d ==e)

C.(b ==d)

D.(a ==b)

E.(b ==c)

F.(d ==10.0)

答案:ABF //= =比较的是地址,他们都指向地址为10的堆栈;

Given the following code, what test would you need to put in place of

the comment line?

//place test here to result in an output of the string Equal

public class EqTest{

public static void main(String argv[]){

EqTest e=new EqTest();

}

EqTest(){

String s="Java";

String s2="java";//小心大小写

//place test here {

System.out.println("Equal");

}else

{

System.out.println("Not equal");

}

}

}

1) if(s==s2)

2) if(s.equals(s2)

3) if(s.equalsIgnoreCase(s2))

4)if(s.noCaseMatch(s2))

答案:3)//小心大小写

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有