当obj为null时就无法使用obj.equals但可以使用obj ==
解决方案 »
- js传递bean参数,找不到action~~
- 急急急!!!请问java队列该怎么使用的啊,比如我要向队列中添加一个对象List集合该如何做。
- common-vfs 操作(创建、删除、复制、移动)文件示例
- weblogic下struts标签问题,急>!
- 关于方法重写的问题
- 鄙人要学习webservice,请各位同学或者老师给予帮助!!!
- tomcat下jsp查看jasperreport报表出现的问题
- 求教:java的md5算法怎样写?
- 新手请教使用shark,最好给个例子
- 运行runclient时报错No application client descriptors defined for:accountClient,为什么
- 请教用java收mail时遇到的问题!
- 为什么静态方法一定要使用静态方法。不懂希望高手指点 哪个讲得懂给40分~~~~~~~~~~~
1、==和Equal.doc
 总结
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也是正确的。
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()方法的特点,另外==操作符两边的操作数必须是同一类型的(可以是父子类之间)才能编译通过。
equals是比较对像的吧
给个连接你自己看吧写的很详细